VSCode中的全局搜索与替换高级技巧

2次阅读

vscode全局搜索与替换支持正则匹配、范围过滤、多光标编辑和捕获组替换。启用「.*」按钮用正则精准查找console.log()并替换为debugger;通过「…」设置files to include/exclude限定js/TS源码、排除node_modules;点击「▶」预览上下文,Ctrl+点击多选后Enter进入多光标批量编辑;替换时用$1引用捕获组安全加css类名前缀。

VSCode中的全局搜索与替换高级技巧

VSCode 的全局搜索与替换远不止 Ctrl+F 和 Ctrl+H 那么简单。善用正则、上下文限定、多光标联动和工作区过滤,能大幅减少机械操作,精准定位并安全修改大量代码。

正则表达式精准匹配复杂模式

勾选搜索框右下角的「.*」按钮启用正则模式后,就能处理带规律的文本。比如把所有 console.log('xxx') 替换为 debugger,可输入:

  • 查找:console.log([^)]*)(注意转义点号和括号)
  • 替换:debugger

再比如批量提取函数名:查找 functions+(w+)s*(),替换为 $1,就能只留下所有无参函数的名字。

限定搜索范围:文件类型、文件夹、排除项

点击搜索框右上角的「…」可展开高级过滤栏:

  • 在「files to include」里填 src/**/*.{js,ts},只搜 JS/TS 源码
  • 在「files to exclude」里填 node_modules,**/dist,跳过依赖和构建产物
  • 想只改测试文件?填 **/*.test.js__tests__/**

这些通配符支持 glob 语法,和 .gitignore 规则一致,写一次就能复用。

VSCode中的全局搜索与替换高级技巧

CA.LA

第一款时尚产品在线设计平台,服装设计系统

VSCode中的全局搜索与替换高级技巧 86

查看详情 VSCode中的全局搜索与替换高级技巧

跨文件多光标替换 + 预览确认

执行全局搜索后,左侧会显示匹配结果树。点击任意一个匹配项左侧的「▶」可展开上下文(默认显示前后 2 行),确认是否真要改这里。按住 Ctrl(mac 上是 Cmd)点击多个结果,再按 Enter 进入「多光标编辑模式」——此时所有选中位置同步高亮,输入内容即批量替换。适合小范围、需人工核对的场景。

用「搜索并替换」保留原始结构

替换时用 $1$2 引用正则捕获组,比硬编码更安全。例如统一给 CSS 类名加前缀:

  • 查找:class=["']([^"']*)["']
  • 替换:class="$1 my-prefix-$1"

如果只想加前缀不重复原值,就用 class="my-prefix-$1"。注意:$ 后面必须紧跟数字,不能写成 $1abc,否则会被识别为变量 $1 加字符串 abc;如需字面量 $,写成 $$1

基本上就这些。不复杂但容易忽略——关键在打开正则、学会过滤、信任预览、善用捕获组。

text=ZqhQzanResources