workbench.colorCustomizations 是唯一有效入口,需通过 Developer: Inspect Editor Tokens and Scopes 精准获取插件 token(如 gitlens.gutterCommitHash),严格按 "token": "#rrggbb" 格式配置,切换 Default Dark+/Light+ 主题验证,并注意 Webview 类插件不支持该方式。

插件本身不提供颜色配置入口,所有「插件自定义颜色」实际都落在 VSCode 主题系统里——你改的不是插件,而是插件 UI 元素在编辑器中的渲染色。关键在于识别插件暴露了哪些可配色 token,再用 workbench.colorCustomizations 覆盖。
怎么找到插件用到的颜色 token?
很多插件(比如 GitLens、ESLint、Bracket Pair Colorizer)会在状态栏、内联装饰、侧边栏或小浮窗中显示信息,这些区域的颜色由 VSCode 提供的标准 token 控制,不是插件自己硬编码的。
- 打开命令面板(
Ctrl+Shift+P),运行Developer: Inspect Editor Tokens and Scopes - 把光标停在插件渲染的文字/图标上(比如 GitLens 的行首 commit hash、ESLint 的波浪线提示),点一下,弹出面板会显示当前 token 类型,例如
gitlens.gutterCommitHash或eslint.warning - 注意看「foreground」「background」字段是否为空——如果为空,说明它继承自主题;如果已设值,说明插件自己写了 color rule,此时
workbench.colorCustomizations可能被忽略
workbench.colorCustomizations 里怎么写才生效?
必须严格匹配 token 名 + 十六进制色值,且只作用于当前激活主题未强绑定的 token。常见失效原因不是写错,而是主题覆盖。
- 先临时切换到 VSCode 自带的
Default Dark+或Light+主题,验证你的配置是否起效 - 确认 JSON 键名完全正确:
"gitlens.gutterCommitHash": "#ff6b6b",不能多空格、不能大小写错误、不能漏引号 - 值只接受
"#rrggbb"或带 alpha 的"#rrggbbaa",不支持rgb()、命名色(如"red")、变量或 CSS 函数 - 保存后,已打开的视图(如 GitLens 面板)需手动刷新或重新触发(比如关闭再打开命令面板)
哪些插件颜色值得优先定制?
不是所有插件 UI 都有可配 token,但以下几类高频出现、影响视觉节奏:
-
gitlens.gutterCommitHash:左侧行号旁的 commit 缩略码,调亮一点更易扫读 -
eslint.error/eslint.warning:错误和警告的下划线颜色,建议用高对比色(如"#e74c3c")避免漏看 -
editorSuggestWidget.background:自动补全弹窗背景,深色主题下常太暗,可设为"#2a2a2a"提升可读性 -
peekViewEditor.background:按Alt+F12查看定义时的弹窗背景,和主编辑器色差太小会导致“消失感”
真正容易被忽略的是:插件作者可能把颜色逻辑写死在 Webview 里(比如某些文档预览插件),这种情况下 workbench.colorCustomizations 完全无效,只能靠插件自身设置项或换插件。别在 JSON 里反复试错,先查插件文档有没有 xxx.color 类配置项。


















