vscode全局搜索默认不区分大小写,需点击搜索框右上角aa图标开启match case;可通过设置"search.matchcase": true设为默认启用,但仅影响find in files,不影响ctrl+f。

VSCode 全局搜索怎么开启大小写敏感?
默认不区分大小写,必须手动打开 Match Case 开关才能实现精准匹配。这个开关藏在搜索输入框右上角,图标是 Aa,点一下就高亮变蓝,表示已启用。
常见错误是只记得按 Ctrl+Shift+F 打开搜索面板,却忽略右上角这个小按钮——尤其在搜索 JSON 和 json、ID 和 id 这类命名时,漏掉它就会漏结果。
- 快捷键:没有默认快捷键,只能点图标或用键盘焦点切换(Tab 键移到
Aa后空格) - 生效范围:只影响当前搜索框的这一次查询,不会持久保存为全局默认
- 配合使用:建议和
Match Whole Word(↵图标)一起开,避免搜state时把statement也带出来
想让每次全局搜索都默认区分大小写?
VSCode 不提供“默认开启 Match Case”的设置项,但可以通过修改用户设置绕过手动点击:
打开设置(Ctrl+,),搜索 search.matchCase,勾选它;或者直接在 settings.json 中添加:
"search.matchCase": true
注意:这个设置仅控制「全局搜索(Search: Find in Files)」,不影响编辑器内单文件的 Ctrl+F 查找(那是 editor.find.matchCase 控制的)。
- 如果同时设置了
editor.find.matchCase和search.matchCase,两者互不干扰 - 工作区级设置会覆盖用户级设置,团队协作时留意
.vscode/settings.json是否禁用了它 - 某些远程开发环境(如 Dev Containers)可能重置该配置,需在容器内单独启用
为什么开了 Match Case 还搜不到?检查这些地方
大小写开了但结果为空,大概率不是设置问题,而是编码或文件本身导致的隐性不匹配:
- 文件编码不是 UTF-8(比如 GBK 或 ISO-8859-1):VSCode 搜索基于文本解码后的内容,编码错会导致字符识别异常,
é可能变成乱码,大小写自然失准 - 搜索路径里包含符号链接(symlink):默认不跟随,需在搜索框底部勾选
Follow Symlinks - 排除了目标目录:检查
files.exclude或搜索框里的files to include/exclude字段,比如误写了**/node_modules/**却忘了加双星号,可能意外排除整个子树 - 正则模式开着:如果同时启用了
Use Regular Expression(.*图标),而你输的是纯文本,某些特殊字符(如.、$)会被当正则解析,实际没匹配上
搜索 const 但不想匹配 constructor?
这是典型「单词边界」需求,靠大小写开关解决不了,得用 Match Whole Word(↵ 图标)或正则 \bconst\b。
Match Whole Word 更轻量,适合大多数场景;但要注意它依赖 VSCode 对“单词”的定义——默认按 wordSeparators 切分,如果你的代码里有 myConstName,它不会被 const 匹配到,但 Match Whole Word 也不会把它当成 const 的一部分,所以是安全的。
- 如果项目用了下划线命名(
const_value),Match Whole Word仍有效,因为_在默认wordSeparators中 - 若需更灵活控制(比如匹配
const开头但不要中间出现的),就得切正则模式,输入^const\b并确保Match Case也开着 - 性能提示:正则 + 大范围搜索(如整个 workspace)可能明显变慢,优先用
Match Whole Word能省不少时间











