必须重启VSCode才能使highlight-words插件生效,因其依赖启动时加载;配置需区分light/dark主题颜色,作用域可通过files/exclude控制,建议保留3–4种高频词高亮以平衡可用性与清晰度。

VSCode 默认的语法高亮只按语言规则染色,没法标记你关心的特定单词(比如 TODO、FIXME、变量名 userToken 或调试用的 debugLog)。想让这些词“跳出来”,必须用 highlight-words 这类插件,而不是改 editor.tokenColorCustomizations —— 后者只管语法结构,不管具体词内容。
安装 highlight-words 后必须重启 VSCode
很多人装完就试,发现光标停在单词上没反应,直接以为插件坏了。其实根本原因是没重启。VSCode 的插件注册机制要求部分插件(尤其是监听编辑器事件的)在启动时加载,热安装不触发完整初始化。
- 安装后立即按
Ctrl+Shift+P→ 输入Developer: Reload Window手动重载,比关再开更快 - 验证是否生效:打开任意 .js 文件,写
const test = 123;,把光标停在test上,按Ctrl+Shift+P→ 输入Highlight Words: Highlight Current Word,看是否有高亮框出现 - 如果仍无效,检查有没有其他插件冲突(比如某些主题插件会覆盖高亮边框样式)
颜色配置必须区分 light/dark 主题
highlightwords.colors 数组里每个对象都要同时提供 light 和 dark 字段,否则暗色主题下可能完全看不见高亮,或颜色糊成一片。VSCode 不会 fallback,缺哪个就用默认灰。
- 别直接复制网上别人配的十六进制色值,先在 settings.json 里写好结构,再一个个试:
"highlightwords.colors": [ { "light": "#FFD700", "dark": "#FFA500" }, { "light": "#90EE90", "dark": "#32CD32" } ] - 浅色主题下慎用浅黄、浅粉;深色主题下避免纯白、淡灰 —— 它们和背景对比度太低
- 8 种颜色不是上限,数组可以扩到 12 个,但超过 6 个后人眼很难快速分辨,建议按语义分组:调试类、待办类、风险类、临时类
高亮范围容易误配成全局生效
默认配置是全局高亮所有匹配词,但在大型项目里,你只想在当前文件或某类文件(如 .ts)里高亮 TODO,否则满屏都是金黄色块,反而干扰阅读。
- 用
highlightwords.files控制作用域:"highlightwords.files": ["**/*.ts", "**/*.js"]
- 用
highlightwords.exclude排除干扰路径:"highlightwords.exclude": ["**/node_modules/**", "**/dist/**"]
- 如果只想高亮当前光标所在单词(而非所有同名词),确保关闭
highlightwords.highlightAllMatches,设为false
真正难的是平衡:颜色太多眼花,太少不够用;全局高亮信息过载,局部高亮又得反复开关。最实用的做法是留 3–4 种固定色给高频词(TODO、FIXME、console.log),其余按需临时添加,用完删掉 —— 高亮不是装饰,是导航工具,得随时能清空重来。


















