在 VS Code 中搜索所有*不*包含字符串的文件

Posted

技术标签:

【中文标题】在 VS Code 中搜索所有*不*包含字符串的文件【英文标题】:Search for all files *not* containing a string in VS Code 【发布时间】:2018-12-20 01:47:48 【问题描述】:

在 Visual Studio Code 中,如何使用搜索功能搜索所有 包含某个字符串的文件?在这种情况下 - “OnPush”

【问题讨论】:

可能是^(?![\S\s\r]*OnPush),但我现在无法测试。 @WiktorStribiżew 当我启用正则表达式并尝试该方法以及其他可能的正则表达式解决方案时,VS 代码以“表达式匹配所有内容”进行响应 可能想先检查一下正则表达式的信息***.com/questions/42179046/… 【参考方案1】:

在一般的正则表达式中,要搜索不包含特定字符串的任何内容,您可以执行 stringbefore(?!string) 这是一个否定的前瞻,它表示仅当您指定为 string 的内容不存在时才匹配。在您的情况下,它将类似于[\W\w]+(?!OnPush)

但是,VS 代码搜索不支持负前瞻...所以你不能做太多。

【讨论】:

立即尝试。我现在正在下载 VS 代码会在那里测试 VS Code 搜索不支持负前瞻:github.com/Microsoft/vscode/issues/30735 您需要在 VS Code 中启用“search.usePCRE2”才能使用负前瞻。 您不再需要启用 PCRE2 设置 - 事实上它已被弃用。 Vscode 现在将自动使用 PCRE2 作为后备。 VSCode (v 1.50.1) 搜索有效。例如搜索逗号后面不跟空格,(?!\s)【参考方案2】:

有一个名为 Reverse Search 的 VS Code 扩展 它可以找到不包含特定字符串的文件

【讨论】:

是否可以仅在特定文件夹和特定文件(如 .php)中进行搜索? @IvanTopić 是的,您可以使用此扩展名包含或排除文件。

以上是关于在 VS Code 中搜索所有*不*包含字符串的文件的主要内容,如果未能解决你的问题,请参考以下文章

VS-code在包含连字符的类名之间添加空格

即使有换行符捕获光标位置中的所有内容,也将特殊标签应用于所有选定文本中的文本区域

VS code 自定义快捷键

linux命令之——grep详解

vs code显示跟实际打开markdown显示不一致

VS Code 未验证断点