Zed 的窗口标题以前长什么样?大概是“项目名 — 文件名”这种固定套餐,你没得选。想改?不行。想要个更简洁的?忍着。想要个更详细的?也忍着。
也许大家是第一次界闯出窗口标题,形象的说就是你切换不同窗口,把光标放上去的时候,在左上角显示的文字。
比如上面显示的sse--go.mod就是窗口标题。
现在好了,Zed 新版本终于把窗口标题的控制权交了出来。新增两个设置:window_title_format 和 window_title_separator。前者定义模板,后者定义分隔符。简单说就是:你想让标题栏显示什么,你说了算。
能用的变量有哪些
Zed 原生支持这些变量:${projectName}、${fileName}、${filePath}、${relativePath}、${fileStem}、${remoteName}、${remoteHost}、${appName},以及 ${separator}。
想显示完整路径?${filePath}。只想显示文件名不要扩展名?${fileStem}。在远程开发想标明主机?${remoteHost}。每个变量都对应一个明确的场景,不玩虚的。
协作时的 ↗/↙ 指示器仍然硬追加在末尾,不参与模板。
下面就来实操一把
首先来到设置页面
根据前面介绍的变量名设置标题,和分隔符,比如上面是app名称,这里就是zed,加上横杠,加上远程主机,加上项目名,加上文件名
效果如下
和 VS Code 比:它居然帮你“翻译”配置
这才是这次更新最有意思的地方。
VS Code 有 window.title 和 window.titleSeparator 两个设置。Zed 没有让用户自己去查“Zed 的变量叫什么”,而是在导入设置时自动翻译:VS Code 的 ${activeEditorMedium} 映射到 Zed 的 ${relativePath},${appName} 直接透传,其余别名也一一对应。
这意味着什么?你从 VS Code 迁移到 Zed,窗口标题的配置不用改。 它认识你原来写的东西,然后帮你换成 Zed 的说法。这不是简单的“兼容”,这是“我懂你从哪来”。
VS Code 的配置体系庞大而成熟,Zed 作为后来者,硬碰硬比功能数量不现实。但它在迁移体验上动了脑子:不是让你重新学一套,而是让你原来的配置继续生效。降低迁移摩擦,比堆功能更能留住人。
这个新特性大家可能觉得没多大用,属于闲着没事干。其实不然。
如果你同时处理着前端、后端、基础设施三个仓库,默认标题都长得差不多,切换时靠肌肉记忆。自定义成 ${projectName} — ${fileName} 后,每个窗口一眼可辨,不用点进去才知道自己切到了哪个项目。
用 Zed 连远程服务器写代码时,本地窗口和远程窗口混在一起容易搞混。加上 ${remoteHost} 后,标题直接显示你在哪台机器上操作,避免“以为在改本地,其实改了生产”的惨剧幻觉。