Visual Studio Code 跨文件搜索(在文件中查找)不起作用

Ray*_*Ray 18 visual-studio-code

MacOS 10.13.6 Visual Studio 代码 1.31.1

我打开 VSCode,打开一个文本文件文件夹,然后按 command-option-F,或使用“编辑”->“在文件中查找”,我搜索我确定存在于多个文本文件中的字符串打开的文件夹,它说找不到它,除非我在选项卡中打开了文件,这违背了这一点。我究竟做错了什么?还有其他人有同样的问题吗?

编辑

如果我打开文件夹并将每个文件作为选项卡打开则跨文件搜索有效,这是毫无意义的。有没有一种方法可以跨文件进行搜索,而无需将它们全部作为选项卡打开?

编辑,TLDR,答案:

我想是因为我在 Google Drive File Stream 上打开了一个文件夹。它在本地文件上运行良好。

Jon*_*han 157

就我而言,这是由于我不小心切换了“仅在打开编辑器中搜索”选项引起的。

在此输入图像描述

  • 对我来说类似的情况:下面的图标被激活“使用排除设置并忽略文件”,相关文件位于`.gitignore`中 (10认同)
  • 很难判断打开文件选项是打开还是关闭 (6认同)
  • 对于那些有类似问题的人来说,图标会突出显示,并且很容易意外单击并在没有注意到的情况下将其保留为“打开”状态。哦,天哪,这太痛苦了……谢谢@Jonathan! (2认同)

小智 15

可能是搜索正在查找所有文件夹(包括 node_modules 文件夹),因此由于它太大,搜索永远不会结束

要解决此问题,您可以列出要从搜索中排除的所有文件夹,为此,请打开 vscode 设置 ( ctrl+ ,),在搜索框中输入“搜索:排除”并添加您的文件夹。(顺便说一句,有些已经默认添加)

此外,请记住在搜索中启用该过滤器,这很简单,只需切换搜索部分中的齿轮按钮即可

排除按钮搜索

如果您仍然不确定该怎么做,请看一下这个简短的 gif

设置示例


小智 6

在 Mac 上有同样的问题,似乎与 Google Drive 有关。一旦我移动了本地驱动器上的文件,搜索工作正常。


小智 6

检查你的 VS Code 设置。它默认排除一些文件夹,例如节点模块。

  • 为了澄清上面的评论,默认情况下 VSC 搜索会忽略 .gitignore 排除的所有内容。这是一个独立的设置,与控制忽略通常排除的文件夹(如 node_modules)的设置不同。要关闭它,请在首选项中搜索“.gitignore”并取消选中 (7认同)
  • 是的!看起来默认情况下“使用忽略文件”处于打开状态。谢谢! (2认同)

Arm*_*end 6

遇到同样的问题,搜索功能仅适用于在编辑器中打开的文件。我的问题是 VS Code 下载了一个更新并准备更新,所以我只是重新启动了 VS Code,让更新完成,问题就消失了。


per*_*tio 5

对我来说,问题是这些文件是在 中列出的目录中找到的.gitignore,并且搜索排除了 中的文件.gitignore

虽然其他一些答案/评论提到了这一点,但我认为在明确的答案中编译选项是有意义的。您有几个选择:

  1. 关闭搜索功能右下角的“使用排除设置和忽略文件”。这会影响特定的搜索,如果您想要灵活,建议您这样做: 在此输入图像描述
  2. 取消选中设置中的“搜索:使用忽略文件”(也可能取消选中“搜索:使用全局忽略文件”)。这会影响您的设置,而不仅仅是此搜索。如果您始终希望排除忽略文件,您可以为您的用户或工作区设置执行此操作: 在此输入图像描述
  3. 从中删除文件/文件夹(不推荐,因为您出于某种原因.gitignore将其放入文件中).gitignore

注意:我使用 VSCode 连接到远程服务器。