Zed 有一个非常吸引人的特性:不用从零编写完整主题文件,直接在 settings.json 通过
theme_overrides覆写现有主题颜色。我们不需要发布独立扩展,几行配置就能微调边框、面板背景、光标色、语法样式。本文就基于我的这份 Zed 配置,逐项拆解每个配置项的作用与视觉效果。
前置介绍
Zed 的配置文件路径:~/.config/zed/settings.json
我们基于现成的 Aura Dark 主题来做二次定制,同时搭配图标主题 Warm Charmed Icons。
{
"icon_theme": "Warm Charmed Icons",
"theme": "Aura Dark",
"theme_overrides": {
"Aura Dark": {
// 界面边框
"border.variant": "#15141C",
"border": "#15141C",
// 窗口标题栏背景
"title_bar.background": "#15141C",
// 底部面板(终端、输出面板)背景
"panel.background": "#15141C",
// 面板获得焦点时的边框颜色
"panel.focused_border": "#4E4666E",
// 光标颜色配置
"players": [
{
"cursor": "#bd9dff"
}
],
// 语法高亮:普通注释斜体
"syntax": {
"comment": {
"font_style": "italic"
},
"comment.doc": {
"font_style": "italic"
}
}
}
}
}
逐项解析配置与效果
1. 基础主题与图标
"icon_theme": "Warm Charmed Icons",
"theme": "Aura Dark",
theme:指定基础主题,所有覆写都建立在这个主题之上。这里选用流行的 Aura Dark。icon_theme:文件树图标集,Warm Charmed Icons 是柔和暖调图标,搭配深色主题视觉更舒服。核心:
theme_overrides是针对上面选中主题的局部覆盖,切换到别的主题,这套自定义样式不会生效。
这些目前都可以在插件种可以安装

搜索aura

还有icons

安装之后,原来默认的icon是这样的

安装之后的效果是

这个时候setting.json就会有如下内容

接下来我们就可以基于此来自定义自己的zed了
2. 全局边框 & 标题栏配色
比如当前这个主题在每个editor上方会有一条有颜色的线条,我们可以提供配置来自定义他
```json
"border.variant": "#15141C",
"border": "#15141C",
"title_bar.background": "#15141C",
"panel.background": "#15141C"
颜色 `#15141C` 是极深的暗紫色。
- `border`:编辑器所有分割边框(文件标签、侧边栏、面板分隔线)。
- `border.variant`:次要边框,弹窗、提示框边框。
- `title_bar.background`:macOS 的窗口标题栏背景,和编辑器主体融为一体,消除割裂感。
- `panel.background`:底部面板,终端、问题面板、搜索结果面板背景,统一底色。
效果:编辑器整体低对比、极简。默认主题的浅灰色分割线消失,整个界面融为一体,视觉干扰更少,适合长时间写代码。

### 3. 面板聚焦边框
```json
"panel.focused_border": "#4E4666E"
当底部终端面板激活、获得焦点时,这条边框会启用这个淡紫灰颜色。
- 作用:区分「当前激活面板」,不用盯着文字看才能判断焦点在哪。
非激活状态下,面板边框使用上面
border的深色,激活后切换成高亮边框。
4. 光标颜色 players
"players": [
{
"cursor": "#bd9dff"
}
]
players 在Zed里代表多光标/编辑用户,数组可以配置多个光标。
cursor:输入光标颜色,#bd9dff柔和淡紫色。
效果:在深色代码上光标清晰,又不会像纯白色光标那样刺眼。多人协同编辑时,还可以给不同player设置不同光标色。

5. Syntax 语法样式:注释斜体
默认注释是这样的
"syntax": {
"comment": {
"font_style": "italic"
},
"comment.doc": {
"font_style": "italic"
}
}
comment:单行/多行普通注释,设置italic斜体。comment.doc:文档注释(TSDoc、Go doc、JSDoc)。
效果:注释自动斜体,代码阅读时一眼区分注释和业务代码,是很多开发者偏好的样式。

Zed自定义主题的核心优势(对比VS Code)
- 无需开发扩展:VS Code自定义主题一般要单独写主题扩展;Zed直接在settings.json写
theme_overrides,开箱即用。 - 增量覆写:只写你想修改的字段,其他颜色沿用原Aura Dark,不用维护一长串完整色值。
- 配置实时生效:修改settings.json保存,Zed立刻刷新界面,不需要重启编辑器。
小结
Zed 的 theme_overrides 是一个很巧妙的设计。它没有强制要求开发者从零构建完整主题,而是允许在成熟主题基础上做细微打磨。从窗口标题、面板边框,到光标、注释字体样式,全部都可以在settings.json里统一管理。
这套低对比度暗紫风格,把界面分割线弱化,视觉重心完全放在代码文本上,非常适合长时间编码。如果你厌倦了千篇一律的默认主题,可以拿这份配置作为起点,微调成自己喜欢的样式。