highlight-words 是目前唯一能手动触发多词高亮、跨文件生效且兼容全语言的轻量插件;需手动配置 settings.json 中 colors、defaultmode、box 和 showsidebar 四项,绑定快捷键(如 ctrl+shift+h),不支持语法结构感知或缩进高亮。

highlight-words 是唯一能手动触发多词高亮的插件
VSCode 自身不支持“选中即高亮全文同词”,highlight-words 是目前唯一稳定、轻量、可跨文件生效的方案。它不是靠语言模式解析,而是基于文本匹配,所以 JS/TS/Vue/HTML/JSON 全通吃。别被 Color Highlight 或 Bracket Pair Colorizer 名字误导:前者只认颜色值(如 #ff6b6b),后者只管括号配对,两者都做不到你想要的变量追踪或调试标记。
必须手写 settings.json 才能启用核心功能
光安装插件没用,highlight-words 的行为完全依赖显式配置。直接编辑 settings.json,至少填这四条:
-
"highlightwords.colors":至少 2 组颜色,例如[{"dark":"#4a90e2"},{"dark":"#7ed321"}];少于 2 组会导致高亮不显示 -
"highlightwords.defaultMode":设为3(全词 + 忽略大小写),避免选中map却高亮flatMap或mapping -
"highlightwords.box":深色主题下务必设"dark": false,否则边框会融进背景,看起来像没生效 -
"highlightwords.showSidebar":设为false,否则左侧多出 HIGHLIGHTS 栏,干扰文件导航
快捷键绑定失败?大概率是被其他插件劫持了
highlight-words 默认没快捷键,必须手动绑定。常见失效原因不是配置错,而是快捷键冲突:
- 打开快捷键设置:
Ctrl+K Ctrl+S→ 搜索Highlight Toggle Current - 双击右侧空白处,推荐绑定
Ctrl+Shift+H(比默认Ctrl+H更安全) - 如果仍无效,检查是否被
Auto Rename Tag或Prettier占用了类似组合;临时禁用它们再试 - 高亮后光标移走就消失?这是正常行为——它默认只作用于当前编辑器,不跨标签页持久化
别用 highlight-words 干缩进高亮的活
有人想用它给 if 块或函数体加背景色,这行不通。它没有语法结构感知能力,只做字符串匹配。选中一行 console.log,它只会高亮所有相同字符串,不会识别作用域边界,也不会随光标移动自动更新范围。
真要可视化缩进层级,两个靠谱选择:indentRainbow(给每级缩进线染色,需配 indentRainbow.languages 和 indentRainbow.indentUnit)或 VSCode 原生 editor.guides.indentation(仅光标所在行缩进区域填浅色背景,依赖主题且 v1.86+ 才支持)。











