vscode需安装highlight-words插件实现选中即高亮,它支持手动触发、多色叠加、全词匹配,但必须手动配置settings.json,包括至少两组颜色、defaultmode设为3、box.dark设为false,并绑定快捷键,ui设置无效。

VSCode 本身不提供“选中即高亮”的功能,想靠鼠标一划就让同名变量、函数或关键词在当前文件(甚至跨文件)里全部标出来,必须装插件——而且不是随便装一个就行。
highlight-words 是唯一能稳定实现「手动触发 + 多色叠加 + 全词匹配」的插件
很多人试过 Color Highlight,发现它只对 #ff6b6b、rgb(255, 107, 107) 这类颜色值起作用;Bracket Pair Colorizer 只管括号配对;TODO Highlight 只认注释。它们都不响应你选中一个 console.log 或 useEffect 后按快捷键的动作。
highlight-words 的设计目标就是解决这个具体问题:你选中一段文本,按一次快捷键,它就在当前编辑器里把所有匹配项用背景色+可选边框标出来,支持全词、忽略大小写、正则模式(比如 console\.log),JS/TS/Vue/HTML/JSON 全语言通用。
- 必须手动配置
settings.json才能生效,UI 设置面板里改无效 -
highlightwords.colors至少填 2 组颜色,否则高亮不显示(插件有校验) -
highlightwords.defaultMode: 3表示“全词 + 忽略大小写”,避免选中map却把flatMap也标上 -
highlightwords.box.dark: false是深色主题下边框可见的关键,设成true会和背景融合,看起来像没高亮
快捷键绑定失败?大概率是被其他插件劫持了
插件默认不带快捷键,得自己绑。常见问题是:绑了 Ctrl+Shift+H,按下去没反应。
- 打开快捷键设置:
Ctrl+K Ctrl+S→ 搜索Highlight Toggle Current - 双击右侧空白处,输入你想要的组合键(推荐
Ctrl+Shift+H) - 如果仍无效,检查是否被
Auto Rename Tag或Prettier占用了类似组合(它们常抢Ctrl+Shift+X类快捷键) - 高亮后光标移走就消失?这是正常行为——
highlight-words默认只作用于当前编辑器,不跨标签页持久化
别指望靠 UI 设置面板完成配置
安装完 highlight-words 后,直接去 VSCode 设置界面搜“highlight”改选项,基本白忙活。它所有关键行为都依赖 settings.json 中的显式字段。
必须在用户或工作区的 settings.json 里粘贴以下内容(注意不是 UI 面板里的“高亮颜色”滑块):
{
"highlightwords.colors": [
{"light": "#b3d9ff", "dark": "#4a90e2"},
{"light": "#e6ffb3", "dark": "#7ed321"}
],
"highlightwords.defaultMode": 3,
"highlightwords.box": {"light": true, "dark": false},
"highlightwords.showSidebar": false
}
-
"highlightwords.showSidebar": false建议加上,否则左侧资源管理器多出HIGHLIGHTS栏,干扰导航 - 颜色数组少于 2 项,插件会静默失效,不会报错也不会提示
- 如果用的是自定义主题,
light/dark字段要和 VSCode 当前主题模式严格对应,否则颜色可能不生效
真正麻烦的不是装插件,而是理解它不自动生效的逻辑:它不监听选中事件,不后台扫描,不跨编辑器缓存——所有行为都由你显式触发、显式配置、显式终止。这点和大多数“开箱即用”的插件完全不同,也是最容易卡住人的地方。











