peacock颜色不生效需先手动执行“peacock: change color”命令;设置中修改"peacock.color"仅缓存值,不触发着色;颜色自动保存至项目.vscode/settings.json的前提是已执行该命令。

Peacock 颜色不生效?先确认是不是“窗口级着色”没触发
装完 Peacock 插件后标题栏/侧边栏没变色,不是插件坏了,而是它根本没被激活——Peacock: Change Color 命令必须手动执行一次,颜色才写入当前窗口元数据。设置里直接改 "peacock.color" 不起作用,因为这个字段只是缓存上次选的值,不是实时开关。
常见错误现象:
- 改了
settings.json里的"peacock.color"却没反应 - 新开一个 VSCode 窗口(哪怕打开同一项目),颜色消失了
- macOS 下标题栏不变色,但活动标签页边缘变色了 → 检查
Window: Title Bar Style是否为custom
颜色怎么自动保存到项目里?靠 .vscode/settings.json,但有前提
只有执行过 Peacock: Change Color 的窗口,才会把颜色写进当前工作区的 .vscode/settings.json。写入内容类似:"peacock.color": "#FF6B6B"。下次用该文件夹或 .code-workspace 文件打开时,颜色自动恢复。
注意几个关键点:
- 多根工作区(multi-root workspace)下,整个窗口统一染色,不会按子文件夹分别设色
-
peacock.preserveColorOnClose设为true只在“该窗口曾被手动染色过”的前提下才生效 - 团队协作时,建议加
"peacock.affectStatusBar": false,避免状态栏颜色干扰统一 UI
预设色 vs 自定义色:用 Peacock: Change Color from List 更可靠
手动输 #ff0000 容易拼错,也难复现。Peacock 内置语义化预设名(如 dev、test、prod),调用 Peacock: Change Color from List 后选中即可,颜色值固定,多人协作时不会因 HEX 差一位导致视觉混乱。
使用场景:
- CI/CD 环境区分:本地开发用
dev (blue),测试环境用test (orange),生产环境用prod (red) - 远程开发(SSH/WSL)窗口也支持,但 GNOME 等桌面环境可能只显示边框色
- 渐变色用
Peacock: Change to Gradient,输入两个 HEX 值,比如#4ECDC4和#FF6B6B
多个 VSCode 窗口并存时,颜色管理容易踩的坑
Peacock 的设计逻辑是「窗口即单位」,不是「项目即单位」。这意味着:
- 同一项目开两个窗口 → 可以各自设不同颜色(适合对比分支或调试不同配置)
- 关闭窗口再重开 → 若没启用
peacock.preserveColorOnClose,颜色丢失 - 靠颜色记项目容易混淆 → 推荐配合
Window: Set Window Title手动加前缀,比如[api]+ 蓝色,[admin]+ 紫色 - 某些主题(如 Material Theme)重绘标题栏,会遮盖 Peacock 效果 → 优先检查
Window: Title Bar Style
最常被忽略的一点:颜色只影响容器 UI(标题栏、活动标签边框、侧边栏顶部),完全不影响编辑器内代码高亮或主题色——所以和 workbench.colorCustomizations 或 editor.tokenColorCustomizations 不冲突,但深色主题配浅色 Peacock 时,标题栏文字可能发灰,这不是 bug,是系统渲染限制。











