Peacock插件仅给VSCode窗口标题栏、活动栏、状态栏添加标识色,不影响主题和语法高亮;切换深/浅模式需同步配置workbench.colorTheme、editor.tokenColorScheme、终端及Markdown预览主题。

Peacock插件能一键给窗口“上色”,但不是切换深/浅模式
Peacock 插件本质是为不同 VSCode 窗口添加视觉标识色(比如本地开发用蓝色、测试环境用橙色),它改的是 peacock.color,不影响 workbench.colorTheme 或 editor.tokenColorScheme。所以它不能替代深/浅主题切换,但能和主题搭配使用——比如你在深色主题下,再用 Peacock 给生产环境窗口标个醒目的红色边框。
常见误操作:装了 Peacock 就以为能“自动切暗色”,结果代码还是白底。这是因为 Peacock 不动语法高亮、不改终端配色、也不碰主题 ID。
- 设置颜色只影响标题栏、活动栏、状态栏三处,编辑器内容、终端、侧边栏图标全都不变
- 命令
Peacock: Change Color输入#28A745这类值后,颜色实时生效,但仅限当前窗口 - 工作区级绑定写在
.vscode/settings.json里,字段名必须是"peacock.color",值为合法十六进制字符串(如"#FF6B6B")
真正切换深/浅模式,得靠主题组合 + 手动对齐
VSCode 没有“一键深浅切换”原生功能,所谓快捷切换,本质是同步改至少两个配置项:workbench.colorTheme(UI 主题)和 editor.tokenColorScheme(语法高亮)。漏掉后者,就会出现“边栏黑了,代码还白着”的割裂感。
最稳的操作路径是命令面板:Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)→ 输入 Preferences: Color Theme → 选 Dark+ (default dark);然后立刻再搜 Preferences: Open Settings (JSON),手动加一行:"editor.tokenColorScheme": "Default Dark+"。
- 第三方主题如
One Dark Pro通常自动绑定两者,但Material Theme默认禁用语法深色渲染,必须手动开启 -
workbench.colorTheme的值必须和扩展市场里显示的“主题 ID”完全一致,大小写敏感,比如不能写成"dark+" - 改完 JSON 后必须按
Ctrl+R或Cmd+R重载窗口,否则 UI 不刷新
终端和 Markdown 预览颜色不随主题变?它们各自有开关
集成终端(Terminal)和 Markdown 预览页默认不继承 workbench.colorTheme,哪怕你把 UI 和代码都设成深色,终端可能还是白底黑字,Markdown 预览也照常亮得晃眼。
必须单独配置:
- 终端主题:在设置中搜
terminal.integrated.colorScheme,选带Dark的方案(如One Half Dark),或直接写入 settings.json:"terminal.integrated.colorScheme": "Default Dark+" - Markdown 预览:启用
"markdown.preview.experimental.useEditorStyle": true,它会让预览复用当前编辑器的editor.tokenColorScheme配色规则 - 调试控制台颜色由主题扩展决定,部分主题(如
Material Theme)会屏蔽其深色支持,换回Dark+ (default dark)最省事
想自动化切换?别信插件宣传,直接改 settings.json + 重载
所有号称“根据时间/系统暗色模式自动切换”的插件,底层都是定时修改用户 settings.json 中的 workbench.colorTheme 字段,再调用 workbench.action.reloadWindow 命令。没有魔法,只有文件写入 + 窗口重载。
自己写脚本更可控:PowerShell(Win)或 shell(macOS)读取当前配置,替换 "workbench.colorTheme" 行,确保 JSON 格式合法(逗号、引号、括号闭合),然后执行 code --command "workbench.action.reloadWindow" ——但该命令需安装 Command Runner 扩展才可用。
- settings.json 中禁止写注释(如
// dark mode),VSCode 解析失败会导致整个设置失效 - 工作区设置(
.vscode/settings.json)优先级高于用户设置,切主题前先确认你改的是哪一层 - 真正容易被忽略的不是怎么写脚本,而是每次切换后要不要同步改
editor.tokenColorScheme、终端、Markdown 这三处——它们不会跟着workbench.colorTheme自动变


















