highlight-words 插件需重启 VSCode 并将光标停在单词上按 Ctrl+F8 才生效,其默认仅高亮当前词而非全局匹配,且颜色受主题影响,建议在 settings.json 中显式配置 colors。

highlight-words 插件怎么配才不白装
装完 highlight-words 却没反应?大概率是没重启 VSCode,或者光标没停在单词上就按快捷键。它默认只高亮当前光标所在单词,不是全局搜索匹配——这点和 Source Insight 的“高亮所有相同词”逻辑不同,容易误以为失效。
关键操作步骤:
- 安装后必须重启 VSCode,否则命令不可用
- 把光标完整停在某个变量名(如
counter)上,再按Ctrl+F8(插件默认快捷键) - 高亮颜色来自主题内置的 8 种色板,暗色主题下
#888类浅灰可能完全看不见,建议在settings.json中显式覆盖highlightWords.colors - 别指望它识别作用域:
i在 for 循环里和在函数参数里会被一视同仁地高亮,没有语义区分
todo-tree 高亮注释标记时为什么漏掉 // REVIEW
todo-tree 默认只认 ["TODO", "FIXME", "BUG", "HACK"],加了 // REVIEW 却不亮,是因为没改 todo-tree.general.tags。它不是靠正则模糊匹配,而是严格比对字符串列表。
正确做法:
- 在
settings.json中补全配置:"todo-tree.general.tags": ["TODO", "FIXME", "BUG", "HACK", "REVIEW"] - 如果想让
// NOTE:也生效,得写成"NOTE:"(带冒号),因为它是精确匹配整个标记字符串 - 扫描范围默认排除
node_modules,但若项目里有docs/下的 Markdown 文件也要识别,需加"todo-tree.filtering.includeGlobs": ["**/*.ts", "**/*.md"] -
todo-tree.general.scanWholeFile设为true才能在非注释区域(比如 JSON 值里)捕获标记,但会拖慢大项目响应
colorHighlight 为啥
Vue 单文件组件中 <style scoped> 内的颜色值不渲染小色块,不是插件 bug,而是 colorHighlight.languages 没包含 vue。VSCode 把 .vue 文件拆成多个语言块(template/script/style),插件只对显式声明的语言 ID 生效。
必须手动配:
- 在
settings.json中确保"colorHighlight.languages": ["css", "scss", "html", "vue", "javascript"] - 注释里的颜色(如
// background: #ff6b6b)默认不处理,要开"colorHighlight.showColorsInComment": true - 自定义正则匹配(比如提取 CSS 变量)必须用
colorHighlight.colors数组,每个对象含pattern和color字段,不能直接写字符串 - 别试图用
editor.tokenColorCustomizations改它——那是改语法高亮,不影响 colorHighlight 的装饰层
括号高亮失效,90% 是语言模式错了
VSCode 1.68+ 已原生支持括号配对高亮,但前提是右下角状态栏显示的是正确语言模式(比如 JavaScript 而不是 Plain Text)。一旦识别失败,高亮退化为纯字符级匹配,嵌套层级、作用域边界全乱。
排查顺序:
- 点右下角语言标识,手动选对模式;或在
settings.json中用"files.associations"强制绑定后缀,例如"*.jsx": "javascriptreact" - 确认
"editor.bracketPairColorization.enabled": true - 禁用所有旧版括号插件(如
bracket-pair-colorizer-2),它们和原生功能冲突会导致颜色错乱或光标跳动 - 缩进参考线不显示?先检查是否混用了空格和 Tab,VSCode 只对统一缩进的行画线;
indent-rainbow插件可补足视觉区分,但它和括号高亮互不干扰
真正卡住人的,永远不是配置多难写,而是你盯着代码看半天,却没低头看一眼右下角那个小小的语言标签。


















