workbench.colorCustomizations 必须作为 settings.json 顶层对象,内含 "editor.background" 等键(如 "sideBar.background"),值用带 alpha 的十六进制(如 "#1e1e2eCC"),且需同步配置 "editor.foreground" 保证可读性,否则编辑区颜色不生效或文字不可见。

workbench.colorCustomizations 怎么填才不翻车
直接改这个配置项是最常用也最容易出错的入口。它控制的是整个工作台(非代码区)颜色,比如侧边栏、状态栏、标签页背景,但editor.background必须单独写在里面,漏掉就等于没改编辑器背景。
常见错误现象:改了workbench.colorCustomizations后只有状态栏变色,编辑区还是默认黑/白——大概率是把editor.background写到了外层,而不是嵌套在workbench.colorCustomizations对象里。
-
editor.background和editor.foreground必须成对出现,否则文字可能看不见(比如深灰背景配深灰字) - 颜色值推荐用带 alpha 的 HEX 格式,例如
"#1e1e2eCC",比纯"#1e1e2e"更柔和,也避免和语法高亮冲突 - 侧边栏
sideBar.background建议比编辑区略深或略浅一级,否则视觉上会“断开” - 如果用了插件如
vscode-background,它的图片层会盖在workbench.colorCustomizations之上,此时调色要预留透明度空间
editor.tokenColorCustomizations 修改关键字颜色的实操要点
这个配置管的是代码里每个语法单元的颜色,比如function、string、comment,但它不认中文名,只认 scope 名。别靠猜,用Help → Toggle Developer Tools,再右键编辑器 → Inspect Editor Tokens,把光标停在目标词上,看控制台里显示的 scope 链。
- 想改 JS 中的
const,scope 是keyword.control.js,不是keywords -
strings会影响所有字符串,包括 CSSurl("...")里的路径,想单独调 JS 字符串颜色,得用string.quoted.double.js - 暗色主题下慎用纯白
"#FFFFFF",容易刺眼;加 alpha 后如"#FFFFFFA0"更安全 - 修改后不生效?检查是否被当前启用的主题覆盖——有些主题会忽略 token 自定义,优先级高于你的 settings.json
行高亮和当前行背景怎么设才不抢戏
editor.lineHighlightBackground和editor.lineHighlightBorder是控制当前行高亮的唯二配置项,但很多人设完发现颜色太跳、边框太硬,反而干扰阅读。
- 背景色强烈建议用带透明度的 HEX,例如
"#3c3c5a33",数值越小越淡,避免盖住括号配色或语法高亮 - 边框不是必须的,
editor.lineHighlightBorder设为空字符串""就能关掉,比设"none"更稳妥 - 如果用了
bracketPairColorization.enabled,高亮行+彩色括号叠加时,注意背景色别消掉括号对比度 - 某些主题(如 One Dark Pro)自带行高亮样式,此时你的自定义会失效,得先关掉主题内置高亮或换主题
highlight-words 插件为什么点了没反应
装完插件只是第一步,90% 的“失效”问题出在三个环节:重启、模式、匹配逻辑。
- 必须彻底关闭 VSCode 所有窗口(包括后台进程),再重新打开,否则快捷键
Ctrl+F8不会注册 - 确认当前文件的语言模式正确:右下角显示
JavaScript,不是Plain Text;Vue 文件得是Vue,不是Vue HTML -
highlightwords.defaultMode默认是 0(子串匹配),搜a会连ab、apple一起高亮;日常开发建议设为1(全词匹配) - 如果变量名含下划线或驼峰(如
user_name或userName),默认不匹配,需手动改插件正则,不是配置能解决的
真正难的不是填参数,而是理解每个配置项生效的层级和边界——workbench管界面,editor管代码区,token管语法粒度,而插件又可能绕过这些规则直接操作 DOM。填错一个地方,整片颜色就塌掉。











