繁体   English   中英

如何仅在 vscode 中当前打开的文件中进行搜索?

[英]How to search only in currently open files in vscode?

我通常处理包含许多包含搜索查询的文件的大型项目。 所以我会打开我想要修改的文件,并在所有当前打开的文件中进行查找/替换。 这可以在vs代码中完成吗?

我正在寻找的功能是在 Notepad++ 中实现的,但我不希望为此任务切换编辑器。

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

这里

“搜索:目标特定文件集#20530”位于此处: https : //github.com/Microsoft/vscode/issues/20530

正在跟踪搜索“范围”,例如“所有打开的文件”。

从 v1.55 开始,这将默认启用 - 图标将始终出现,您不需要启用下面提到的设置。

v1.55 预发布说明提到了一个“复选框”,但它不在 Insiders Build 中,所以我认为它们是指图标。


这是在 Stable Build v1.53 中的一个实验性“标志”后面:

Search > Experimental: Search in Open Editors

它在 Insiders' Build 中默认启用,但需要重新加载才能生效 - 这样就会出现相关的选项图标。 它在稳定版本中默认不启用(启用后也需要重新加载)。

v1.53 发行说明

此版本附带了对在开放编辑器中搜索的实验性支持,一段时间以来一直是人们强烈要求的功能 此功能在 Insiders 中默认启用,并且可以通过 Stable 中的search.experimental.searchInOpenEditors设置启用。

见演示:

在打开的编辑器演示中搜索

如您所见,该图标位于files to include末尾files to include输入,因此您必须显示该图标(如果files to include尚未显示,请单击搜索选项下方的三个点... )。

我不认为有办法做到这一点。 您可以在 github 上提出功能请求。 我认为扩展可以做到这一点。

作为使用 Visual Studio Code 本身的替代方法,您可以在 Visual Studio Code 中打开的未保存文件所在的文件夹中搜索文件内容。 这将位于以下位置之一,具体取决于您运行的操作系统:

  • Linux:/tmp/(运行 Linux 的其他人可以验证这一点)
  • macOS:~/Library/Application\\ Support/Code/Backups/
  • Windows:%APPDATA%\\代码\\用户\\

1.55 版(2021 年 3 月)以来,“要包含的文件”字段中有一个复选框。

答案已经提到(并在上面接受)确实在搜索窗口的文件排除框中键入./将允许您仅在打开的文件中进行搜索。

然而,回应提到他不确定为什么会这样。 VSCode 允许您通过在排除框中写入目录来排除目录中的所有文件。 目录. 是VSCode打开的目录,即根目录。 过滤器./排除 VSCodes 根目录中的所有文件,因此排除所有文件。 但是打开的文件忽略任何排除过滤器。 因此,如果您排除所有文件,则只会搜索打开的文件。

在 vs 代码中的特定文件中查找您正在搜索的内容的最佳方法是:

  • Ctrl + p,然后按搜索栏上的 @。

它将为您提供文件中所有功能的列表,以便更轻松地跟踪某些内容。

这个扩展是我用于此目的的。 如果存在冲突,您可能需要更改键绑定。

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

VS Code 搜索工具栏

我通常在大型项目中使用许多包含搜索查询的文件。 因此,我将打开要修改的文件,并对所有当前打开的文件进行查找/替换。 可以在vs代码中完成吗?

我要寻找的功能是在Notepad ++中实现的,但我不想不必为此任务切换编辑器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM