VS Code-在目录中的所有文件中搜索文本


356

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

即,如果我在搜索中键入“ find this”,它将搜索当前目录中的所有文件并返回匹配的文件。基本上就像我做了grep一样。我的同事告诉我Sublime有这样的事情。

Answers:


391

您可以执行编辑在文件中查找(或Ctrl+ Shift+ F-默认键绑定,在MacOS上为Cmd+ Shift+ F)以搜索当前打开的文件夹。

对话框上有一个省略号,您可以在其中包括/排除文件,并在搜索框中提供用于匹配大小写/单词和使用正则表达式的选项。


3
匹配后,按住Ctrl键(Mac:'Cmd')在搜索结果中单击某个关键字即可打开该文件进行并排编辑,然后跳转到文件中的该位置。
bitsand '16

58
问题是,当您在Visual Studio Code中打开包含数十个子目录的目录时,通常需要在单个目录中进行搜索。在文件中查找与执行此操作完全无关。(当然,这是对完全不同的问题的有用答案。)@JesperWilfing的答案(右键单击文件夹,在文件夹中查找)更好。
詹姆斯·摩尔

1
在Notepad ++中有什么类似的功能,您可以在其中指定要搜索的目录,而不必打开它?
做新的

6
这不能回答问题。您如何只在给定的文件夹中搜索?
Zaqx

6
根据另一个答案,如果右键单击一个文件夹并选择“在文件夹中查找...(Shift + Alt + F)”,您将看到搜索特定目录所需的格式。看起来您是从工作空间的根目录开始的。例如,我的工作区为WebInterface,文件夹包括为./WebInterface/cli/src/[folder]
Tyler StandishMan

266

在VS Code中...

  1. 转到资源管理器(Ctrl+ Shift+E
  2. 右键单击您喜欢的文件夹
  3. 选择“在文件夹中查找”

搜索查询将在“要包含的文件”下预填充路径。


26
这应该是公认的答案。我能够在一个父文件夹中有多个子文件夹,并删除了需要替换字符串的数十个文件,从而首次实现了这一目标。非常感谢!
klewis'18

2
“查找文件夹”不适用于自动忽略的文件夹,例如node_modulesJavaScript开发人员有时需要使用该文件夹。“ VS Code默认情况下会排除某些文件夹,以减少您不感兴趣的搜索结果的数量。打开设置以更改files.exclude和search.exclude部分下的这些规则。” 从code.visualstudio.com/docs/editor/...
谢尔班Ghiţă

如果存储库根目录不是实际的项目根目录,也有点棘手,在这种情况下,VSCode始终默认搜索整个存储库,但是无法将其限制为当前项目(在VSCode中打开的文件夹)
Svend

接受的答案对我不起作用(不确定我做错了什么)。这行得通-谢谢。
java-addict301

确实有不幸的副作用,就是破坏了“要包含的文件”字段中已经存在的所有内容,而且我看不到恢复常用过滤器的任何方法。
greg7gkb

23

Ctrl+ Shift+F 在此处输入图片说明

在搜索框下点击3个点。

在搜索框中键入查询

要包含的文件框中键入./FOLDERNAME,然后单击Enter

替代方法是,右键单击文件夹,然后选择在文件夹中查找


我一直在VSCode中寻找该功能,并且一直以来都在我的鼻子底下。
nocarrier

非常感谢,我一直在寻找如何在特定文件夹中查找。到目前为止,我一直在使用sublime查找特定的文件夹。
shashi verma

17

Ctrl+ P(Win,Linux),Cmd+ P(Mac)–快速打开,转到文件


6
这仅匹配文件名,而不匹配文件中的文本。
LearnOPhile

11

默认情况下,此操作未绑定到键,要绑定它,请执行以下操作:

  1. 文件>首选项>键盘快捷键(Ctrl+KCtrl+S
  2. 搜索“查找文件夹”
  3. 按“ filesExplorer.findInFolder”搜索结果左侧的+图标。
  4. 输入所需的组合键

10

我认为这些官方指南应适合您的情况。

VS Code可让您快速搜索当前打开的文件夹中的所有文件。按Ctrl + Shift + F并输入搜索词。搜索结果被分组到包含搜索词的文件中,并标明每个文件中的匹配项及其位置。展开文件以查看该文件中所有匹配的预览。然后,单击其中一个匹配项,以在编辑器中查看它。



6

要添加到上面,如果要在选定的文件夹中搜索,请右键单击该文件夹,然后单击“在文件夹中查找”或默认键绑定:

Alt+ Shift+F

如前所述,要搜索项目中的所有文件夹,请单击“编辑”>“在文件中查找”,或:

Ctrl+ Shift+F


4

如果您在VSCode中打开了一个目录,并想搜索一个子目录,则可以:

  • ctrl- shift- F然后在files to include字段中输入的路径与一家领先的./

要么

  • ctrl- shift- E打开资源管理器中,右键单击您要搜索的目录,并选择Find in Folder...选项。

3
  1. 在搜索中输入搜索关键字(CTRL + SHIFT + F)

  2. 通过使用排除选项(!)排除不需要的文件夹/文件

    例如:!文件夹/文件*

  3. 按下Enter

搜索结果给您想要的结果


1

顺带一提,您是Google伙伴,他们在搜索输入中选择了多个文件夹,您用逗号分隔了目录。适用于排除和包含

例: ./src/public/,src/components/


1

不太明显的是,您可以使用以下模式进行递归搜索

./src/**/*.html

因此,对于大多数常规搜索,也许将以下内容保留为默认设置,以提醒您有这种情况

./src/**/

例如,我在左右对齐/对接内容的属性之后,除“开始”外我一无所有,因此我进行了以下搜索,向我显示了“项目开始”

在此处输入图片说明

这将我的布局固定为 在此处输入图片说明

代替 在此处输入图片说明

这是模板中“ item-sart”的位置。 在此处输入图片说明



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.