必须用workbench.colorcustomizations改ui外壳色(如sidebar.background)、editor.tokencolorcustomizations改代码色;配错层级、json错误或工作区覆盖会导致失效。

直接改 workbench.colorCustomizations 和 editor.tokenColorCustomizations,其他方式基本无效——改 CSS 文件会被重置,设置面板里搜“颜色”找不到关键项,装插件不配 JSON 也白搭。
怎么改侧边栏、状态栏这些 UI 元素颜色
所有界面外壳颜色(非代码文本)必须走 workbench.colorCustomizations,它只认官方 token,大小写错一个字母就失效。
-
sideBar.background控制左侧资源管理器背景,不是sidebar.background -
statusBar.background是底部那条 Git 分支、编码格式所在的整条背景 -
terminal.integrated.background独立于编辑器,漏配会导致切终端时眼睛一刺 - 值必须是合法 CSS 颜色字符串:
"#2d2d2d"或"rgba(45, 45, 45, 0.9)"可用;"red"、"hsl(...)"、var(--...)全部不生效 - 配置必须是
settings.json的顶层字段,不能嵌在"workbench": { ... }里面
怎么改关键字、字符串、注释这些代码颜色
语法高亮和 UI 颜色完全隔离,改代码文本必须用 editor.tokenColorCustomizations,靠猜 scope 名称大概率失败。
- 先按
Ctrl+Shift+P→ 运行Developer: Inspect Editor Tokens and Scopes,点一下目标代码(比如一个"hello"字符串),看弹窗里真实的 scope:可能是string.quoted.double.ts,不是string -
"strings": "#ce9178"这种简写只对基础语言有效;复杂场景必须用textMateRules数组 + 精确 scope 匹配 - 多个规则冲突时,后定义的覆盖前一个;想调试哪条生效,看 Inspect 弹窗右上角的 rule 序号
- 第三方主题(如 Nord)可能设了
"_defaults": true,会无视你的editor.tokenColorCustomizations,换回Dark+先验证
为什么改了没反应?三个高频卡点
配置写了但颜色不变,90% 出在这三处,不是 VSCode 抽风,是静默忽略。
- JSON 格式错误:多逗号、少引号、括号不匹配——VSCode 设置面板右下角有黄色感叹号,但容易被忽略;建议粘贴进在线 JSON 校验工具
- 工作区级
.vscode/settings.json里写了同名配置,会完全屏蔽用户级设置;临时删掉它测试 - 系统暗色模式没开,但你用的主题(如 GitHub Theme)依赖该开关,系统亮色下它强制回退到亮色变体,
editor.background再对也白搭
真正难的不是写对一行颜色值,而是分清哪层管哪块——UI 元素、语法 token、语义符号、Git 装饰,四套机制互相不认账。改错一层,其他层照常渲染,结果就是“好像变了点,又好像哪儿都不对”。











