在Visual Studio Code中按名称或路径查找文件

511
如何在Visual Studio Code中按名称或路径查找文件?
我习惯使用的Visual Studio快捷键是CTRL+,但在这里不起作用。

1
在 Visual Studio 中,快捷键是 [CTRL] + ';' - RBT
13
是Ctr+P,不是Ctr+, - Anand Raja
3
这回答解决了你的问题吗?我如何在Visual Studio Code中搜索文件? - Anand Raja
@AnandRaja 关于 Ctrl+P - 我正在使用Visual Studio的En-US默认配置,对我来说,Ctrl+P会带出打印对话框。另一方面,Ctrl+,会带出“omni box”,可以搜索文件、符号等。 - Nenad
1
你可以使用“资源管理器树”来实现。https://dev59.com/xV0a5IYBdhLWcg3woaA3#61460276 - A. Morel
显示剩余4条评论
8个回答

705

当您在工作区中打开一个文件夹时,您可以按下 Ctrl+P(Mac 上为 Cmd+P),然后输入文件名或扩展名来过滤文件名列表。

例如您有以下文件:

  • plugin.ts
  • page.css
  • plugger.ts

如果您输入 css 并按下回车键,则会打开 page.css。如果您输入 .ts,则列表被过滤并包含两个条目。


13
如果您想更改快捷方式,请在“文件”>“首选项”>“键盘快捷方式”中查找“转到文件...”。 - Dinei
3
{ "key": "cmd+p", "command": "workbench.action.quickOpenNavigateNextInFilePicker", "when": "inFilesPicker && inQuickOpen" }{ "键": "cmd+p", "命令": "workbench.action.quickOpenNavigateNextInFilePicker", "时机": "inFilesPicker && inQuickOpen" } - gdbj
5
需要注意的是,Ctrl+P快捷键会以预览模式打开文件。如果想要在新标签页中打开文件,请按照以下步骤操作:https://dev59.com/IVcP5IYBdhLWcg3w39s-#43707807。 - anticafe
3
这对我似乎不起作用,只有已经打开的文件在搜索时才会显示出来(尽管在关闭后仍然可以找到它们,但从未打开的文件不会显示)。 - Zitrax
3
@Zitrax 是正确的:Ctrl+P [文件名] 在资源管理器中并不适用于所有文件,它只会列出已经打开的文件 -- 至少在使用远程后端如 WSL 等情况下是这样。资源管理器需要一个真正的搜索工具,在所有情况下都能够正常工作。 - Stabledog
显示剩余2条评论

40

按下Ctl+T将打开一个搜索框。删除#号并输入您的文件名。


48
这只是一个更长的方法,达到与直接按 Ctrl + P 相同的目的。 - Nenad
1
这真是太遗憾了,这个回答解决了提问者的问题,而 @Dick 的回答则不仅找到了文件还打开了它,而这并不是提问者的要求。 - Mike Williamson

30

默认情况下,快捷键是CMD + P(或CTRL + P)。但是根据您的偏好,键盘绑定可能会有所不同。

要了解您的绑定,请进入“键盘快捷键”设置并搜索“转到文件”。


24

我相信这个动作的名称是"workbench.action.quickOpen"。


适用于任何不使用默认键映射的人(例如那些使用emacs键映射)。 - ijoseph
1
@ijoseph或Intellij键映射 - Ahmed Aziz

12

您可以使用“搜索:在文件中查找”功能按名称查找所有文件。
当您想要获取在搜索对话框中持久化的文件列表时,此方法非常有用。

  1. 启动“搜索:查找所有文件”(默认为CTRL+SHIFT+F
  2. 在对话框中,打开'regex'。(在搜索栏中的.*
  3. 搜索:^(?<!\n)。这个正则表达式匹配每个文件的第一行
  4. 在“要包含的文件”中添加(部分)文件名。请注意,此字段支持通配符。
  5. 输出文件名列表。

示例

要查找所有的tsconfig.json文件,包括变体如tsconfig.node.json
使用搜索词tsconfig*.json
find all tsconfig files
现在您可以单击结果以打开每个文件。


3

在 Mac 上,按下 Ctrl+Shift+O / Cmd+Shift+O 可以看到它。关闭所有选项卡后可以看到。


2
默认情况下,Ctrl+Shift+O 是“转到符号...”绑定。列出当前打开页面上的所有符号。 - Nenad

1
鉴于实际配置可能因各种扩展而有所不同,给出一个具体的快捷方式作为答案似乎没有帮助。虽然默认的快捷方式似乎是在Mac上按下“Cmd + P”,但您可以在导航到“设置->键盘快捷方式”并搜索“转到文件...”时找到或重新配置它。

Picture of keyboard shortcuts in Visual Studio Code, filtered by the command 'go to file'

在我的情况下,IntelliJ IDEA Keybindings Extension 添加了一个双击Shift的快捷键,我经常使用它,因为我之前使用的是Jetbrains的IDE。

0
根据这个Github页面,现在在Mac上只需在文件资源管理器树中按下Cmd+F(Windows上可能是Ctrl+F)即可轻松查找所有我正在工作的README.md文件并将其突出显示:

在VSCode文件资源管理器窗格中搜索结果

2

注意:此方法只适用于完全展开的树形结构。

3
这是文件资源管理器树中的筛选功能。如果您的文件尚未可见(在扩展的目录节点中),它将不会显示出来。实际上,包含您要查找的文件的目录,如果被折叠起来,在您激活筛选器(单击筛选器图标)时将消失。 - Nenad
1
是的,不幸的前提是树必须完全展开。加上了这个警告。 - futursimple
我认为这不是问题的好答案。这是找文件的一种更长、更复杂的方式。这并不实用。 - Nenad
你的答案可以通过提供更多支持信息来改进。请[编辑]以添加更多细节,例如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何编写好答案的更多信息。 - Community
1
我正在点赞这个回答,这是在经过长时间的搜索后唯一帮助我的答案(想知道为什么之前的“输入以过滤”功能不再起作用)。在非常大的代码库和/或某些情况下,这是一个必要的功能,比 cmd+p 更有用。文件夹必须展开的事实是一个非常烦人的缺点,但并不是这个发帖者的错。幸运的是,他们正在修复它:https://github.com/microsoft/vscode/issues/66971 - Michael Liquori

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