VSCode全局搜索支持限定范围、正则匹配和批量替换。可通过“文件名包含”框用通配符限定路径,启用.*图标进行正则搜索,展开底部替换栏预览并安全替换,还可保存为持久化搜索编辑器。

VSCode 的“在文件夹中查找”(即全局搜索,快捷键 Ctrl+Shift+F / Cmd+Shift+F)远不止输入关键词那么简单。用好它,能极大提升代码定位和批量修改效率。
精准限定搜索范围
默认搜索整个工作区,但常需聚焦某类文件或路径。可在搜索框顶部的“文件名包含”输入框(位于搜索框右侧、放大镜图标旁)中填入通配规则:
- src/**.ts —— 只搜 TypeScript 源码
- *.test.js —— 仅匹配测试文件
- !node_modules/** —— 排除 node_modules(通常已默认排除,但可显式加固)
- components/**, utils/** —— 多路径用英文逗号分隔
用正则表达式做结构化搜索
点击搜索框左端的 .* 图标启用正则模式,适合查找固定模式内容:
- console\.(log|warn|error)\( —— 找所有 console 调用
- const\s+([a-zA-Z_$][\w$]*)\s*=\s*([^;]+); —— 提取 const 声明的变量名与值(配合“替换”可批量重构)
- TODO|FIXME —— 不开正则也能搜,但加 \b(TODO|FIXME)\b 可避免匹配到单词内部
注意:正则中的反斜杠需双写(如 \n 写成 \n),换行符用 \n 表示。
跨文件批量替换要谨慎但高效
展开搜索面板底部的替换栏(点击 ▼ 或按 Alt+Enter),支持:
- 普通文本替换,或勾选 使用正则表达式 后做捕获组引用(如替换为 $1.toUpperCase() 需配合 JS 插件;原生仅支持 $1, $2 等)
- 先点 预览 查看所有匹配项,确认无误再点 全部替换
- 按住 Ctrl(Win)或 Cmd(Mac)单击某条结果,可单独替换该处 —— 适合部分更新场景
保存常用搜索为“搜索编辑器”
点击搜索面板右上角的 ⋯ → 在搜索编辑器中打开,会新建一个只读的搜索结果页。优势在于:
- 结果持久化:关闭再打开 VSCode 仍保留(只要没清缓存)
- 可叠加筛选:在搜索编辑器内再次输入关键词,自动二次过滤
- 支持右键跳转、双击打开、甚至拖拽到侧边栏归档 —— 适合长期跟踪某类技术债或待办项










