Peacock 插件安装后标题栏仍灰色,因其默认静默、不自动染色,必须手动执行“Peacock: Change Color”命令才生效;颜色仅存于工作区 .vscode/settings.json 且需开启 peacock.preserveColorOnClose 才能恢复。

直接用 Peacock 插件,但必须手动执行 Peacock: Change Color 命令才生效——它不自动染色,也不靠改配置文件触发。
为什么装完 Peacock 标题栏还是灰色?
因为插件默认完全静默,不监听 peacock.color 配置项变化,也不随项目自动上色。常见误判点:
- 以为“安装即生效”,实际要先按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并执行Peacock: Change Color - 在
settings.json里写了"peacock.color": "#ff6b6b"却没反应——这字段只是缓存值,不是开关 - macOS 用户看不到标题栏变色,大概率是
Window: Title Bar Style设成了native;必须设为custom才能渲染 Peacock 的titleBar.activeBackground - Linux(如 GNOME)会接管标题栏,此时只有
tab.activeBorder和侧边栏顶部可见,看起来像“窄边框”而非整条顶部色带
颜色怎么保存并下次自动加载?
执行 Peacock: Change Color 后,颜色会写入当前工作区根目录下的 .vscode/settings.json,例如:
{"peacock.color":"#FF6B6B"}
但仅当满足以下条件时,关闭再打开同路径才会恢复颜色:
- 该窗口曾被手动执行过
Peacock: Change Color -
peacock.preserveColorOnClose设为true(推荐在用户设置中全局开启) - 是以文件夹或
.code-workspace方式打开的——用“Open Folder”或双击 workspace 文件,而不是单纯拖文件进窗口 - 新开一个独立 VSCode 实例(哪怕打开同一项目),默认仍是无色,需重新执行命令
多根工作区和团队协作要注意什么?
Peacock 把整个窗口视为一个单位染色,不会按子文件夹分别处理:
- 多根工作区(multi-root workspace)中,所有子项目共享同一个顶部颜色,无法差异化
- 提交
.vscode/settings.json可让团队成员打开即见标识色(比如dev用蓝色、prod用红色),但要注意:workbench.statusBar.background等衍生配置可能干扰统一主题策略 - 建议加
"peacock.affectStatusBar": false抑制状态栏着色,避免视觉冲突 -
.vscode/常被.gitignore排除;若要提交,需显式取消忽略,例如在项目级.gitignore中删掉.vscode/这一行
真正容易被忽略的是:Peacock 染的是 UI 容器色(标题栏、活动标签边缘、侧边栏顶部),不是编辑器背景;想靠它改变代码区颜色,方向就错了。如果真需要编辑器级区分,得用 workbench.colorCustomizations.editor.background 配合工作区设置,但必须同步调优前景色和 token 颜色,否则光标、行号可能直接消失。


















