VSCode Tips

 

Regex Engine in VSCode

部分内容参考自 Regex in VSCode

VSCode 包含两种搜索方式:

搜索方式 快捷键 正则引擎 作用
Search Ctrl-Shift-F ripgrep 活动侧边栏上的放大镜图标,用于搜索当前工作区中的所有文件夹
Find/Replace Ctrl-F JavaScript 仅适用于当前文档的简单查找/替换工具(可通过单击 编辑->查找 访问)

VSCode 中的工作区搜索由开源的 ripgrep 面向行的搜索工具提供支持。 ripgrep 引擎在底层使用 Rust 正则表达式。如果 ripgrep 引擎无法解析正则表达式,VSCode 会回退到 PCRE2 引擎来处理结果。

比如,ripgrep 不支持反向引用 (backreferences) 和环视 (lookaround),如果搜索中用到这两个功能,VSCode 将自动调用 PCRE2 引擎。

相比之下,编辑器 Find 使用 JavaScript(特别是 ECMAScript 5)正则表达式引擎,该引擎支持反向引用和环视。

默认情况下,VSCode Search 的搜索结果不会返回被 .gitignore.ignore.rgignore/git/info/exclude 屏蔽的文件。可以使用 Search 中的 files to includefiles to exclude 来覆盖此默认行为。

Find and Replace

查找不包含 UUID 字符串的行。可以使用 Negative Lookahead,查找每行开始不是 \w{8}- 这个模式的行

^(?!\w{8}-).*$

删除空行

^$\n