vscode原生不支持选中任意单词(含关键字、字符串内文本)后高亮全文匹配,仅对语言服务识别的标识符生效;需启用editor.selectionhighlight并检查主题颜色设置、文件语言模式,或使用highlight-words插件实现纯文本层高亮。

VSCode 原生不支持“选中任意单词(含关键字、字符串内文本)后高亮全文匹配”——这是设计限制,不是配置没调对。 它只对语言服务识别的标识符生效,const、"user"、_temp 这类默认不会被高亮。
为什么双击变量名后其他位置没反应?先查这三个地方
常见现象:双击 count,只有当前词变色,其余同名变量毫无反应。
- 确认
editor.selectionHighlight已启用:设置里搜 “selection highlight”,勾选 Editor > Selection Highlight;或手动在settings.json加"editor.selectionHighlight": true - 检查主题是否把高亮色设为透明:深色主题(如 One Dark Pro、Nord)常将
editor.wordHighlightStrongBackground设为transparent或极浅色。这不是没生效,是“看不见”。可临时切回默认Dark+主题验证 - 确认文件类型正确:右下角语言模式必须是
JavaScript、TypeScript等有语言服务支持的类型,不能是Plain Text或.log
editor.selectionHighlight 和 editor.occurrencesHighlight 的区别
这两个开关独立控制、效果不同,混用容易误判问题根源:
-
editor.selectionHighlight:仅在你**手动选中一段文本(双击/拖选)时**,高亮全文中完全相同的字符串(大小写敏感) -
editor.occurrencesHighlight:光标**停在某个符号上(不选中)**,由语言服务器自动找出所有引用(如函数定义、变量赋值),依赖语义分析,.log文件里无效 - 若只想“选中才高亮”,关掉
editor.occurrencesHighlight反而更干净,尤其在大型 JS/TS 文件中能减少干扰
想高亮 const、字符串里的"user"、或下划线变量?别硬调原生配置
原生机制不支持绕过语义过滤——这不是 bug,是故意为之。强行改 editor.semanticHighlighting 或覆盖 colorCustomizations 无法解决根本限制。
- 要纯文本层高亮(无视语法、关键字、大小写、字符串边界),装插件
highlight-words - 安装后用命令面板运行
Highlight Toggle Current,或绑定快捷键(如F8) - 它支持正则:
Highlight Expression输入\b(err|warn)\b可同时高亮独立单词err和warn - 注意:该插件高亮的是“视觉层”,不参与跳转、重命名等语言功能,和原生
occurrencesHighlight互补而非替代
真正容易被忽略的是:高亮颜色控制分两套——editor.wordHighlightBackground 控制普通匹配项背景,editor.wordHighlightStrongBackground 控制当前作用域内更相关的匹配(比如函数参数在函数体内多次出现)。改错一个,另一批就还是看不见。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











