VS Code搜索替换支持正则表达式,启用后可跨文件批量处理:点击.*按钮或按Alt+R(Win/Linux)/Cmd+R(macOS),结合捕获组$1引用、文件过滤、安全预览实现高效重构。

VS Code 的搜索与替换功能远不止 Ctrl+F 那么简单——它原生支持强大、灵活的正则表达式,配合多文件、跨文件夹、区分大小写、全字匹配等选项,能帮你快速完成重构、批量清洗、模式提取等任务。
开启正则模式:点击 .* 按钮或按 Alt+R
在搜索框(Ctrl+Shift+F 全局搜索 或 Ctrl+F 当前文件)右上角,有个 .* 图标。点击它即可启用正则表达式模式。快捷键是 Alt+R(Windows/Linux)或 Cmd+R(macOS)。启用后,输入的内容会被当作正则解析,比如 \d{3}-\d{2}-\d{4} 能匹配身份证号格式。
- 未启用时,输入
foo.bar会逐字匹配字符串 "foo.bar" - 启用后,
foo\.bar才匹配字面量 "foo.bar"(点需转义),而foo.bar会匹配 "fooxbar"、"fooybar" 等 - 大小写敏感默认关闭,如需严格匹配,点 Aa 按钮或按 Alt+C
常用正则技巧:捕获组 + 替换引用
真正提升效率的是「用括号分组 + 在替换框里用 $1、$2 引用」。比如把驼峰命名转为下划线命名:
- 搜索:
([a-z])([A-Z])→ 匹配小写字母后紧跟大写字母的位置 - 替换:
$1_$2→ 把中间插入下划线,如userName→user_Name - 进阶:用
([a-z])([A-Z])+$1_$2,再配合全局替换(勾选 .* 和 ↵ 全文替换图标),一次处理整个文件 - 注意:VS Code 使用 JavaScript 正则语法,不支持
\K或条件断言,但支持$&(整个匹配)、$`(左侧文本)、$'(右侧文本)
跨文件批量操作:精准定位 + 安全预览
按 Ctrl+Shift+F 进入全局搜索,左侧会显示所有匹配项。关键在于善用过滤和预览:
- 在搜索框下方输入
src/**/*.ts可限定只搜 TypeScript 文件;用!node_modules排除目录 - 点击某条匹配结果,右侧自动打开对应文件并高亮,双击可跳转编辑 —— 不用先打开文件再搜
- 勾选 Replace All 前,先点每条结果旁的 ▶ 展开上下文,确认是否真要替换(避免误改注释或字符串内内容)
- 替换后按 Ctrl+Z 可一键撤销全部,但建议复杂操作前先提交 Git 快照
实用场景速查(可直接复制使用)
以下正则已在 VS Code 中验证可用(启用 .* 模式):
-
删空行:搜索
^\s*$\n,替换为空(注意勾选 “匹配行首/行尾”) -
提取所有 import 路径:搜索
import.*?from\s+['"]([^'"]+)['"],替换为$1,再复制结果 -
给 console.log 加文件名前缀:搜索
(console\.log\()(.+?)\),替换为$1'[fileBasenameNoExtension]:' + $2)(VS Code 支持部分变量,如[fileBasenameNoExtension]) -
批量改函数名(带参数):搜索
oldFunction\s*\(([^)]*)\),替换为newFunction($1)
基本上就这些。正则不用记全,但掌握分组、转义、边界锚点(^ $ \b)和 $1 引用,就能覆盖 90% 的日常重构需求。多试几次,比查文档更快。










