highlight-words等高亮插件需手动配置settings.json,如highlightwords.colors至少2组、defaultmode设为3、box深色主题下dark:false;color highlight需配置languages和pattern支持js/ts字符串;token颜色修改须用editor.tokencolorcustomizations配合textmaterules;linehighlight仅作用于光标行,区域高亮需highlight-words正则匹配。

highlight-words 配置必须手动写进 settings.json
装完 highlight-words 插件后高亮不生效,不是插件坏了,而是它压根不读 UI 设置面板里的配置。所有关键参数都得硬编码进 settings.json 才能触发行为。
-
highlightwords.colors至少填 2 组颜色,少于这个数插件会静默失败,连提示都不给 -
highlightwords.defaultMode: 3是刚需——全词 + 忽略大小写,否则选中map会把flatMap、mapStateToProps全染上 -
highlightwords.box在深色主题下务必设"dark": false,否则边框和背景色融为一体,看着像没高亮 -
highlightwords.showSidebar: false建议关掉,不然左侧多出 HIGHLIGHTS 栏,干扰文件导航
Color Highlight 对 JS/TS 字符串默认不识别
Color Highlight 插件只对 css/scss/html 等样式类语言开箱即用,JS/TS 里写 const color = "#4a90e2"; 是不会渲染色块的——这不是 bug,是设计使然。它默认不解析运行时字符串内容。
- 必须手动配置
color-highlight.languages,加javascript和typescript项 - 配套写
pattern正则,例如""#[0-9a-fA-F]{6}"|'#[0-9a-fA-F]{6}'",单双引号都要覆盖,漏一种就失效 - 想支持 8 位 hex(如
#ff6b6b80)得确保插件版本 ≥ v2.5.0,老版本直接忽略 alpha 通道 - 检查
editor.colorDecorators是否为true,这是底层开关,禁用后所有颜色装饰都不显示
自定义 token 颜色要靠 editor.tokenColorCustomizations
VSCode 默认高亮靠主题和语言插件协同完成,但想改某个语法元素(比如把所有 function 关键字变红),就得动 editor.tokenColorCustomizations,而不是瞎点 UI 设置。
- 先用
Help → Toggle Developer Tools,再点编辑器里任意 token,用Inspect Editor Tokens查作用域(如keyword、support.function) - 在
settings.json里加textMateRules,scope必须和开发者工具里看到的一致,拼错一个字母就不生效 - 别直接改整个主题,优先用
tokenColorCustomizations局部覆盖,避免升级后配置被重置 - 某些 scope(如
meta.tag)在不同语言里含义不同,CSS 的meta.tag和 HTML 的不是一回事
行高亮和代码块高亮是两套机制,别混用
很多人以为 editor.lineHighlightBackground 能用来高亮某几行代码,其实它只响应光标所在行,无法指定任意行号或范围。真要突出某段逻辑块,必须用 highlight-words 或注释标记 + 正则匹配。
-
editor.lineHighlightBackground和editor.lineHighlightBorder只控制当前编辑行,无选择自由度 - 想高亮函数体、if 分支、配置区块,得靠
highlight-words配正则模式,例如/if\s*\(.*?\)\s*\{[^}]*}/gs - 注释里加
// TODO: CONFIG BLOCK,再让highlight-words匹配CONFIG BLOCK,比硬编码行号更稳定 - 别指望
Bracket Pair Colorizer干这事——它只管括号配对,跟代码区域无关











