highlight-words 是唯一能稳定实现“手动选中即高亮”的插件,需手动配置 colors(至少2组)、defaultmode(如3表示全词+忽略大小写)、box.dark(深色主题设false)等参数,默认不跨编辑器/文件生效,快捷键需在快捷键面板绑定并重启vscode才生效。

highlight-words 是唯一能稳定实现“手动选中即高亮”的插件,其他插件要么只认颜色值(Color Highlight),要么只管括号(Bracket Pair Colorizer),要么只配对标签(Highlight Matching Tag)——它们都不解决“临时追踪某个变量或函数名”这个核心需求。
为什么 highlight-words 必须手动配置 settings.json?
插件安装后默认不生效,不是 bug,是设计如此。它不依赖语言模式,但必须显式声明颜色、匹配模式和边框行为,否则连最基础的高亮都出不来。
-
highlightwords.colors至少要填 2 组颜色,少于 2 组时插件会静默跳过渲染 -
highlightwords.defaultMode: 3表示“全词 + 忽略大小写”,避免选中map时把flatMap或Map也带上 -
highlightwords.box.dark设为false:深色主题下设true会导致边框与背景融合,看起来像没高亮 -
highlightwords.showSidebar建议关掉,否则左侧多出 HIGHLIGHTS 栏,干扰文件导航
快捷键绑定失败的三个常见原因
你绑了 Ctrl+Shift+H 却没反应,大概率不是插件问题,而是快捷键被劫持或未落地。
- 在快捷键面板(
Ctrl+K Ctrl+S)里搜Highlight Toggle Current,双击右侧空白处绑定,别只改 UI 设置面板 - 检查是否被
Auto Rename Tag或Prettier占用同类组合键(比如Ctrl+Shift+X) - 绑定后仍无效?重启 VSCode —— 这个步骤漏掉会导致配置不加载,已知至少三次失效案例都卡在这步
高亮只在当前编辑器生效,这是正常行为
highlight-words 默认不跨编辑器、不跨文件保持高亮,这是性能取舍:避免全项目扫描拖慢响应。如果你需要跨文件追踪(比如查某个全局变量所有调用点),得配合 Ctrl+Shift+F 全局搜索,再逐个编辑器手动触发高亮。
- 高亮后光标移走就消失?不是 bug,是设计逻辑:它只作用于当前焦点编辑器中的匹配项
- 想临时延长高亮时间?没有开关,也不建议加延时——会干扰其他高亮操作,尤其多人协作时易造成视觉混乱
- 正则模式可用但慎用:
highlightwords.regex支持,但复杂正则会明显卡顿,C/C++ 项目里慎用/console\.log\([^)]*\)/g类表达式
真正容易被忽略的是:高亮颜色在暗色主题下必须手动校验对比度,#4a90e2 在某些主题里会发灰,看起来像没生效;建议在真实代码文件里放一个测试变量,用 Ctrl+Shift+H 实测,别只看 settings.json 里的颜色值。











