一键打开替换面板并启用正则模式:先按ctrl+shift+h(win/linux)或cmd+shift+h(macos)打开面板,再按alt+r(win/linux)或cmd+r(macos)启用正则,图标变蓝且显示regex标签即生效。

怎么一键打开替换面板并启用正则模式
直接按 Ctrl+Shift+H(Windows/Linux)或 Cmd+Shift+H(macOS)即可打开全局替换面板,无需先搜索再切到替换。这个动作本身不启用正则,但为后续操作铺好路——右上角的 .* 图标默认未激活,必须手动点它或用快捷键触发。
Alt+R / Cmd+R 是唯一可靠的正则开关快捷键
在替换面板已打开的前提下,按 Alt+R(Win/Linux)或 Cmd+R(macOS)能立即切换正则模式。这个快捷键不依赖焦点位置,也不需要先选中输入框。
- 图标变蓝 + 右下角出现
Regex标签,才是真启用了 - 别去点
Aa或按钮,它们会覆盖正则状态,导致.*图标看似亮着却失效 - 某些键盘(如 MacBook 外接非美键盘)可能需要加
Fn键,例如Fn+Cmd+R - 如果没反应,先确认面板是激活状态(不是被其他弹窗遮挡)
为什么写对了正则还是搜不到
最常见原因是元字符没被当作正则解析——比如输入 d+ 却匹配不到数字,实际是在找字面量 `d+` 这 4 个字符。
-
.默认不匹配换行符;要跨行,必须额外点↵图标(或按Cmd+Option+M) -
^和$在未开启多行模式(m标志)时,只匹配整个字符串首尾,不是每行 - 想匹配字面量点号、括号、反斜杠,必须双写:
.、(、\ - VS Code 用的是 JavaScript 正则引擎,不支持
K、(?i)等 PCRE 特性,写了也无效
替换时引用捕获组的写法限制
只认 $1、$2、$& 这三种形式,其他语法一律忽略或报错。
-
${1}、、$<name></name>全部不生效 -
$1abc会被截断成$1,后面abc直接丢弃;要输出字面量,写成$$1abc - 括号必须英文半角、严格配对;嵌套括号会导致整个正则无法解析
- 不确定分组数时,用
$&最稳——它代表整个匹配内容,不会因分组变化出错
.* 匹配引号内内容,很容易吞掉中间的注释或嵌套结构。这时候宁可用 [^'"]* 或 [sS]*?(前提是开了 ↵),比盲目依赖贪婪更可靠。











