选择在VS Code中搜索期间要忽略的文件夹


364

现在,当我使用+ O搜索文件时,模糊匹配似乎可以对当前项目中的所有文件进行操作。不幸的是,这包括来自构建目录和供应商目录的许多文件。因此,例如,如果我要搜索所有JavaScript文件并执行+ O并键入.js,则文件和符号结果包括大约1500个匹配,除这两个以外的所有匹配都是完全干扰。

有没有一种方法可以指定出于搜索目的而忽略的某些目录?


1
嗯,等等,在2019年⌘O的意思是“打开文件...”,我怀疑VS Code是否可以控制在那里可能出现的任何(特定于OS的)搜索功能。这也许能够将文件进行过滤,仅某些扩展?
SamB

Answers:


689

自@ alex-dima回答以来,这些首选项似乎已更改。

变更设定

从菜单中选择:文件->首选项->设置->用户/工作区设置。将默认设置过滤为search

您可以修改search.exclude设置(从默认设置复制到用户或工作空间设置)。这仅适用于搜索。请注意,来自的设置files.exclude将被自动应用。

如果设置不起作用

  1. 确保您没有关闭搜索排除功能。在搜索区域中,展开“要排除的文件”输入框,并确保选择了齿轮图标。

  2. 您可能还需要清除编辑器历史记录(请参阅:https : //github.com/Microsoft/vscode/issues/6502)。

设定示例

例如,我正在开发一个EmberJS应用程序,该应用程序将数千个文件保存在tmp目录下。

如果WORKSPACE SETTINGS在搜索字段的右侧选择,则搜索排除项将仅应用于此特定项目。相应的.vscode文件夹将添加到包含的根文件夹中settings.json

这是我的示例设置:

{
    // ...
    "search.exclude": {
        "**/.git": true,
        "**/node_modules": true,
        "**/bower_components": true,
        "**/tmp": true
    },
    // ...
}

注意:在所有搜索排除项的开头都应加上**,以覆盖所有文件夹和子文件夹中的搜索词。

更新设置前的搜索图片

在更新设置之前,搜索结果是一团糟。

更新设置之前的搜索图片

更新设置后的搜索图片:

更新设置后,搜索结果正是我想要的。

更新设置后的搜索图片。


16
在最近的版本中,这已经停止为我工作了……为什么?
NSjonas

3
有没有办法使它适用于“快速打开”功能?在PC上为Ctrl + P,在Mac上为Cmd + P。当我使用此功能搜索文件时,它们仍然显示。
glandrum101

7
确保清除您的编辑器历史记录,以使其正常工作。github.com/Microsoft/vscode/issues/6502
Jaydeep Solanki

5
我必须运行命令“清除编辑器历史记录”(请参见此处:github.com/Microsoft/vscode/issues/6502#issuecomment-273697138),然后重新启动VS Code,以使其对我有用
艾萨克·格雷格森

19
请注意,搜索文件时可以关闭搜索排除。在搜索区域中,展开“要排除的文件”输入框,并确保选择了齿轮图标。这将确保您的搜索排除设置得到遵守。
罗伯特·瓦德尔

167

确保已选中“使用排除设置并忽略文件”齿轮 在此处输入图片说明


5
一个人如何排除多个文件夹?
Wouter Vanherck

23
@WouterVanherck,您只需添加一个逗号即可分隔要排除的每个文件或文件夹。示例:./src/public/,src/components/
Sgnl


25

这个答案已经过时了

如果这些是您要在特定工作空间中忽略的文件夹,则可以转到:

AppMenu > Preferences > Workspace Settings

否则,如果要在所有工作空间中忽略这些文件夹,请转到:

AppMenu > Preferences > User Settings

并将以下内容添加到您的配置中:

//-------- Search configuration --------

// The folders to exclude when doing a full text search in the workspace.
"search.excludeFolders": [
    ".git",
    "node_modules",
    "bower_components",
    "path/to/other/folder/to/exclude"
],

定制文档中说明工作空间和用户设置之间的区别


9
如果过时了,请更新或删除它,以免造成混淆和可能的否决!
user3413723 '16

1
认真地进行编辑。以上在macOS上的最新VS Code中接受的答案有效。因此请放弃您的BS以进行投票,并为实际答案做出有益的贡献。
heisian

18

如果我理解正确,则想从vscode模糊查找器中排除文件。如果真是这样,我想上面的答案是针对旧版本的vscode的。对我有用的是添加:

"files.exclude": {
    "**/directory-you-want-to-exclude": true,
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true
}

对我的settings.json。此文件可以通过打开File> Preferences>Settings


15

我是个白痴,花了我一段时间才意识到这一点,但请确保在全局搜索中单击了Gear图标,以便可以应用您的设置。

单击搜索上的Visual Studio代码齿轮图标


1
您不是一个白痴,因为这是为我解决的答案,我过去一定是不小心单击了该图标,这个小图标可以控制它并不太明显,启用或禁用时它几乎不
可见

您当然不是错过那美妙的UX的白痴,但是您能告诉我您的答案以前的答案有何不同吗(如果确实如此)-好吧,除了黑暗模式下的答案之外?; ^ D
鲁芬

3

我想完全排除1个Workspace文件夹,但是发现这很困难,因为不管排除模式如何,它总是在每个Workspace文件夹上运行搜索。

最后,解决方案是将**文件夹设置”搜索排除模式添加到“ 文件夹设置”中

在此处输入图片说明


2

设置先前答案中提到的search.exclude和file.exclude之后,运行命令“清除编辑器历史记录”(使用命令面板执行此操作-CTRL + SHIFT + P)。

仅在此之后,排除的文件将不会出现在快速打开菜单上。

更新:您也可以运行命令“清除命令历史记录”。我忘记了。


1

忘记上面的vscode排除搜索模式,请尝试下面的模式,它适用于vscode最新版本中的任何文件夹!

!../../../ locales / *

例如我已经搜索了如下 vscode示例clude设置

要包含的文件: * .js

要排除的文件:** / node_modules,../../../语言环境/ !,../../../主题/!,../../管理员/客户/ *



0

简短的答案是用逗号分隔要在“要排除的文件”中忽略的文件夹

  1. 启动工作区范围内的搜索:CTRL + SHIFT + f
  2. 用三点按钮扩展全局搜索
  3. 输入您的搜索词
  4. 例如,在要排除文件 -input字段中写入babel,concat要在搜索中排除文件夹“ babel”和文件夹“ concat”(确保已启用“排除”按钮)。
  5. 按Enter键即可得到结果。


-1

使用.gitignore创建一个文件,并放置要忽略的文件夹或文件名。

忽略node_modules文件夹下的所有内容

echo node_modules/ > .gitignore 

3
问题不在于git
Saman Shafigh

-1

我想在除插件(“ plugin”文件夹)或以“ .bak”,“。bak2”或“ .log”结尾的文件(位于wp内)之外的所有文件中搜索“条带化”一词。 -wordpress安装的-contents文件夹结构)。

我只是想一次并且非常快速地执行此搜索,所以我不想更改环境的搜索设置。这是我的操作方法(请注意该文件夹的双星号):

  • 搜索词:条纹
  • 包含文件:{空白}
  • 排除文件:*。bak *,*。log,** /插件/ **

这是它的样子

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.