有一种方法来搜索文本在一个目录中使用VS Code的所有文件?

也就是说,如果我在搜索中输入find this,它将搜索当前目录中的所有文件并返回匹配的文件。


当前回答

在搜索中输入关键字(CTRL + SHIFT + F) 排除不需要的文件夹/文件使用排除选项(!) 例:* !文件夹/文件 回车

搜索结果给你想要的结果

其他回答

请注意,如果单击“要包含的文件”字段右侧的“book”图标,它将在搜索“要包含的文件”字段中的所有文件和只搜索已打开编辑器中的文件之间切换(匹配“要包含的文件”字段)。

这可能只有当你知道阅读搜索对话框底部的文本时才会很明显,当你切换图书图标时,它会在以下内容之间发生变化:

在'中没有发现结果。/project_dir/sub_dir' -在所有文件中再次搜索-了解更多信息

这:

在打开的编辑器中没有发现匹配'的结果。/project_dir/sub_dir' -在所有文件中再次搜索-了解更多信息

如果您认为您已经找到了某些东西的所有出现,但实际上您只查看了打开的文件中的所有出现,那么这真的会把您搞得一团糟。

如果您想搜索当前目录/项目目录,但不是单个目录,只需在搜索选项卡上的“files to include”中键入*。(*指所有文件)

同样值得注意的是,当你进行“搜索”时。排除“配置有一些目录,这个配置比搜索更优先。因此,如果我有node_modules在“搜索。Exclude ",即使*也不会显示./node_modules中的文件,所以如果你想显式地包含搜索排除的dirs,请创建一个本地设置。./vscode中的Json,并覆盖配置。

Ctrl + P (Win, Linux), Cmd + P (Mac) -快速打开,进入文件

如果你想使用PowerShell搜索并打开当前目录下的所有文本文件:

foreach($file in $(dir -recurse -include *.txt))
{
    code $file
}

你也可以更具体一点,甚至改变文件类型:

foreach($file in $(dir <specificDir> -recurse -include *.<anyExtension>))
{
    code $file
}

一个简单的答案是点击左边栏的放大镜