如何在VSCode中仅搜索当前打开的文件?

88

我通常在包含搜索查询的多个文件的大型项目上工作。所以我会打开要修改的文件,然后在所有当前打开的文件中执行查找/替换操作。是否可以在vs code中完成此操作?

这个功能在Notepad++中实现了,但我希望不必为此任务切换编辑器。


2
对于较新版本的VSCode,正确答案是https://dev59.com/N1gQ5IYBdhLWcg3w7oVA#67802144。 - Ahmad Ismail
1
这个问题的答案变得过于冗长。 简而言之:在“要包含的文件”字段中切换小书图标。 - Simon_Weaver
10个回答

66

在稳定版 v1.55 中,仅搜索已打开的编辑器的功能已经实现。

只在打开的编辑器中搜索

如您所见,该图标位于“要包含的文件”输入框的末尾,因此您需要将其显示出来(如果“要包含的文件”尚未显示,请单击搜索选项下方的三个点...)。


2
这应该是被接受的答案。 - om-ha
这段内容需要编辑——太啰嗦了。今天的答案很简单,点击小书图标即可。 - Simon_Weaver
1
@Simon_Weaver - 对于那些太忙没时间阅读文本的人来说,它有一个可爱的小动画视频。 - Jeff Wright
@JeffWright以前有更多的文本 :-) 但看起来Mark看到了我的评论并将其减少了。绝对支持动画效果。 - Simon_Weaver

53

对我来说,只需在要排除的文件字段中输入./即可。

这里


2
太棒了!这个可以用。谢谢。我已经寻找这个好久了。 - Michael Field
似乎可以工作,但不知道原因。 VS Code。V1.52.1,安装在Win 10 x64上,通过Remote SSH打开远程文件。 - Jackie Yeh
2
至少在最新的VS Code中,这不起作用,也不确定为什么它会起作用,因为已经有一个长期请求但仍然未解决的功能请求。如果它对您起作用,那可能是因为您打开了实际上位于磁盘上的文件。VS Code可以有从未保存过的新标签页,而它永远不会为此工作,因为在此问题中显示的搜索选项只能搜索磁盘上的文件。 - Rodney S. Foley

17

9

按下Ctrl + Shift + F,启用“要包含的文件”文本字段末尾的图标

VS Code search toolbar


1
不错,这个可以用。我甚至没有注意到那个图标。 - dandersendev

5
我认为这没有可行的方法。你可以在github上提出功能请求。不过我认为一个扩展程序可以实现这个功能。

3
自从2021年3月的1.55版本,在“要包括的文件”字段中有一个复选框可供选择。请注意保留HTML标签。

1
作为使用 Visual Studio Code 的替代方案,您可以在打开未保存文件的 Visual Studio Code 文件夹中搜索文件内容。根据您正在运行的操作系统,这将位于以下位置之一:
  • Linux:/tmp/(其他运行 Linux 的人可以验证此信息)
  • macOS:~/Library/Application\ Support/Code/Backups/
  • Windows:%APPDATA%\Code\User\

1
答案已经在上面提及并接受了,实际上在搜索窗口的要排除的文件框中打入./将允许您只在打开的文件中进行搜索。
然而,回复中提到他不确定为什么这样可以。VSCode允许您通过在排除框中写入目录来排除目录中的所有文件。目录 . 是VSCode打开的根目录。过滤器 ./ 排除了VSCodes根目录中的所有文件,因此所有文件都被排除了。但是打开的文件会忽略任何排除过滤器。因此,如果您排除了所有文件,则只会搜索打开的文件。

1

在vs code中查找特定文件中的内容的最佳方法是:

  • 按下Ctrl + p,然后在搜索栏上按@

这将给您列出文件中所有函数的列表,从而更容易追踪所需内容。


0

这个扩展是我用来实现这个目的的。 如果有冲突,你可能需要更改按键绑定。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接