如何在Visual Studio Code中搜索文件?

Dof*_*ofs 467 keyboard-shortcuts visual-studio-code

我习惯于Resharper,我可以搜索文件,而不是内容,但文件名,这使得它可以快速打开新文件.

此功能是否在Visual Studio Code中实现,是否有快捷方式?

小智 737

在Windows上按Ctrl+ pCtrl+e

在Mac上按Cmd+p

在Linux上也按Ctrl+ p 工作

较旧的Mac版本按Cmd+e

然后键入文件名

另外一定要检查一下,你可以设置自己的键绑定,并且有适用于Windows,macOSLinux的备忘单.

  • 这个答案看起来过时或不正确.另一个答案是正确地说明正确的组合是`cmd` +`p`. (19认同)
  • 这似乎只适用于当前文件夹.如果我想搜索整个项目怎么办?我的文件很少出现在我目前所在的文件夹中. (11认同)
  • 在OSX`cmd` +`e`上搜索当前文件时,正确的键绑定是`cmd` +`p`,它带来命令调色板,您可以在其中搜索文件等等 (10认同)
  • this(和ctrl/cmd + p)不适用于排除的文件夹,例如node_modules.有时候有办法搜索所有文件会很好. (8认同)
  • 您应该更新此答案以反映最新版本的Visual Studio Code,其中键现在为**cmd + p`**. (4认同)
  • 这只搜索最近的文件,而不是所有文件 (3认同)

nik*_*ong 70

在OSX上,对我来说它是cmd ⌘+ p.cmd ⌘+ e只搜索当前打开的文件.


lav*_*ava 56

方法一

\n
    \n
  1. 转到 \xe2\x86\x92 转到文件(快捷键:Ctrl+ p)。

    \n
  2. \n
  3. 搜索您的文件:

    \n

    视频中包含方法 1 的步骤

    \n
  4. \n
\n

方法二

\n
    \n
  1. 查看 \xe2\x86\x92 命令面板(快捷键:++ Ctrl)。Shiftp

    \n
  2. \n
  3. 输入“转到文件”

    \n
  4. \n
  5. 搜索您的文件:

    \n

    视频中包含方法 2 的步骤

    \n
  6. \n
\n


A. *_*rel 48

如果您想在资源管理器树中查看您的文件...

当您单击资源管理器树中的任意位置并开始在键盘上键入内容时,搜索关键字会出现在屏幕的右上角:(“ module.ts ”)

在此处输入图片说明

当您将鼠标光标悬停在关键字上时,您可以单击“启用类型过滤器”以使用您的搜索过滤树!

  • 这将是一个很好的方法,但由于某种原因,结果仅限于少数项目。例如,我知道在 monorepo 中有大约 30 个特定名称的奇怪文件 - 当我按照这些说明操作时,结果仅限于 6 个文件 (15认同)
  • 为什么两年后我现在才发现这个。为此应该有一些初始用户界面,而不仅仅是按键功能。 (4认同)
  • 这已被弃用。没有更多的工作了。检查此答案以了解新方法和详细信息/sf/answers/5142165801/。专注于树和`CMD/CTRL + F` (4认同)
  • 我使用的是 1.52,它仅显示过滤之前树中可见的文件(不在折叠的文件夹中)。@A.Morel 再次尝试您的示例,但这次在过滤之前折叠“晚餐”文件夹。当您应用过滤器时,不仅该文件夹中的文件不会出现,而且该文件夹甚至不会列出。 (2认同)

Moh*_*lal 19

用于在键盘输入时在树中进行过滤。该功能已弃用。没有更多的工作了。

\n

不再有这个旧的红色僵化盒子:

\n

在此输入图像描述

\n

替代品更好、更有趣:

\n
\n

其实不然。本来可以的。新方法仅过滤扩展文件夹。这太可惜了。检查上一届会议的进展情况。对于我们剩下的选择。

\n
\n

https://code.visualstudio.com/updates/v1_70#_tree-find-control

\n

CMD + F(mac) 或CTRL + F(else) [集中注意力时]

\n

vscode树过滤新实现

\n

在此输入图像描述

\n

无需任何设置。它就是有效的。而且更优雅(除了仅通过可见的扩展目录过滤搜索的问题)。

\n

并为默认模式。highlight或者filter。您可以通过以下方式更改:

\n
"workbench.list.defaultFindMode": "highlight"\n"workbench.list.defaultFindMode": "filter"\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

只有打开的文件夹和可见元素 问题是什么?

\n

很高兴了解此功能。但你很快就会遇到它目前的局限性。

\n

仅通过打开的目录进行过滤。它可以提供很大的帮助。但随后我们想要过滤所有内容。而且当项目很大的时候。这变得完全无法使用。

\n

问题1、2、3

\n

我们可以看到它已添加到此处的待办事项中:\n https://github.com/microsoft/vscode/issues/116286

\n

重复项:1

\n

你可能会想:

\n

展开全部

\n

好吧,扩大全部怎么样?然后用这个。\n===> 效果很好 =>但是=> 现在没有这样的扩展全部的功能。

\n

问题:12,重复:1

\n

一些配置

\n

目前没有任何配置有帮助!

\n
"workbench.list.keyboardNavigation": "filter"\n
Run Code Online (Sandbox Code Playgroud)\n

不和许多其他人一样。我都试过了。暂时!

\n

可能使用 Web 视图执行此操作的扩展

\n

不存在。要实现这一点,需要弄清楚 vscode 使用的索引。或者实现自己的索引,然后通过索引进行模糊搜索。否则,更简单的东西不适用于大目录。可以快速构建。[我自己没时间做。特别是这个问题将在未来的某个时候得到解决,我们仍然可以使用CTRL|CMD+ P]

\n

以便为您清除可能产生的想法。并节省您的时间。

\n

恢复

\n

因此,很快我们可能会在 vscode 的未来版本中看到过滤所有内容的功能,因为它已添加到待办事项中。现在我们将等待。也许足够长了。

\n

展开全部似乎不会在任何时候或很快发生。

\n

\xe2\x9c\xa8 那么现在怎么办?一无所有?这是一个解决方法 \xe2\x9c\xa8

\n

现在=>在可见的事物上使用CTRL|CMD+ F。或在文件夹上。通过手动扩展它们。

\n

或者使用CTRL|CMD+P 而不关闭它。遵循以下规则:

\n

在此输入图像描述

\n
    \n
  • 在同一个编辑器中打开多个文件。上下导航并为每个文件使用Right Arrow
  • \n
  • 当它们打开时,它们将并排打开。您可以使用CMD|CTRL+ ALT+LEFT | RIGHT在左右选项卡之间导航。使用键盘更快更好。最后一个打开的位置是关闭托盘时您将看到的位置。
  • \n
  • 要在新的拆分编辑器中打开文件,请使用ALT+ RIGHT ARROW
  • \n
\n

参考号:1

\n

2023 年 7 月 26 日更新(vscode 1.80.1):

\n
    \n
  • 没什么用处。除了一些新功能之外。但过滤是一样的。
  • \n
\n

截至目前,文件资源管理器中的搜索和过滤如下:

\n

在此输入图像描述

\n
    \n
  • 添加模糊匹配
  • \n
  • 滤镜一直都在
  • \n
\n

这里是预览fuzzy search

\n

在此输入图像描述

\n

另外,这里有一些关于当前状态的注释:

\n
    \n
  • 当您使用过滤时,它将仅过滤可见的内容\n
      \n
    • (不用找了)
    • \n
    \n
  • \n
  • 始终没有展开全部的选项。\n
      \n
    • (不用找了)
    • \n
    \n
  • \n
  • 如果您单击一个文件夹并且该文件夹没有子目录,如果它包含某些内容,它将显示,如果不包含,它将消失。\n
      \n
    • 仅仅是因为当您展开时,所有内容都变得可见,然后应用过滤。
    • \n
    \n
  • \n
  • 添加了搜索导航\n
      \n
    • 如果你寻找一些东西。并且找到了结果。您可以通过Updown键进行导航。
    • \n
    • 上面的模糊搜索 gif 示例演示了这一点。
    • \n
    \n
  • \n
\n

以下是一些预览,展示了项目结构较小时如何操作。您仍然可以发现资源管理器上的过滤适用于许多用例。

\n
    \n
  • 导航
  • \n
\n

在此输入图像描述

\n
    \n
  • 过滤
  • \n
\n

在此输入图像描述

\n
 - Even if not found, the search in visible only. So you have to check folders\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n
 - You can still navigate and filter in such a manner.\n - It can still be useful. Depending on your case and the size of the project.\n - Specially if you needed to go through project structure.\n - Otherwise, the workaround by the command pallet is our best solid tool .\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n
 - In big projects. Or directory it\'s totally useless.\n - (no one wants to play super Mario).\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n
 - Once you go through all\n     - Disable the filtering and u get all expanded\n     - activate filter again, and filtering go right (already all is expanded)\n
Run Code Online (Sandbox Code Playgroud)\n

  • 不,它不起作用。它将过滤展开文件夹中的文件,但不会搜索工作区中的文件。 (2认同)

小智 18

Ctrl+ P(或Cmd+ )的问题P是它会搜索您的工作区,同时忽略.gitignore文件中设置的文件和文件夹。要更改此行为,请在目录下添加"search.useIgnoreFiles": false文件。settings.json.vscode

请注意search.exclude设置files.exclude将覆盖此设置。因此,settings.json如果要搜索 VS Code 项目中的所有文件和目录,则应在文件中将它们注释掉或将这两个设置设置为 false。settings.json注释掉search.excludefiles.exclude以便搜索所有文件的示例:

{
    "search.exclude": {
        //"**/Lib": true,
        //"**/Scripts": true
    },
    "files.exclude": {
        //"**/Lib": true,
        //"**/Scripts": true
    },
    "search.useIgnoreFiles": false
}
Run Code Online (Sandbox Code Playgroud)

在这里查看更多信息。


小智 15

也可以使用Ctrl + E在ubuntu中运行

  • 也适用于 Windows 7! (2认同)

JLF*_*JLF 13

其他答案没有提到此命令的名称workbench.action.quickOpen

您可以使用它来搜索Keyboard Shortcuts位于中的菜单Preferences

在MacOS上,默认的绑定是cmd ? + P

(来自Sublime Text,我总是将其更改为cmd ? + T


Gia*_*ang 10

我正在使用VSCode 1.12.1

OSX出版社:Cmd+p


Jer*_*yal 10

赢:CTRL+ PCTRL+E

Mac:CMD+ PCMD+E


不想记住另一条捷径?
打开command palette(Windows:Ctrl+ Shift+ P)并点击退格键删除">"字符,然后搜索文件:)


Sid*_*ted 9

考虑到您在vs代码中有数千个文件,并且您想要搜索具有特定名称的文件

  1. 右键单击VS代码编辑器.
  2. 选择命令选项板
  3. 在文本框中键入文件名

在此输入图像描述

在此输入图像描述

  • 在开始输入文件名之前,需要在命令选项板内按下退格键. (7认同)

小智 8

对于窗户。 如果Ctrl+p并不总是有效,请使用 Ctrl+ shift+n代替。


och*_*obi 7

您也可以按F1打开Command Palette然后删除>通道Backspace.现在您也可以搜索文件.

  • 这与按 Cmd + P 相同 (3认同)

Xin*_*Xin 6

如果您只想搜索一个文件名

只需Ctrl+ P,然后键入并选择您的一个

如果要打开所有名称包含特定字符串的文件

  1. 打开搜索面板
  2. 在这些文件中放入任何常用词
  3. 在“要包含的文件”中,将搜索字符串加*,例如* Signaller *

在此处输入图片说明

  • “将所有常用单词放入这些文件中”。这就是问题所在。我很想找到具有特定名称的每个文件。 (3认同)

小智 5

在 Visual Studio 代码中搜索特定文件类型。
键入ctrl+p然后搜索类似 *.py 的内容。
简单易行


小智 5

如果使用 vscodevim 扩展,ctrl+p将不起作用,所以我看到另一个答案使用:

ctrl+ shift+p

这将打开命令面板。按退格键删除“>”,然后开始输入文件名。