现在,当我使用⌘+O搜索文件时,模糊匹配似乎对当前项目中的所有文件进行操作。不幸的是,这包括许多来自构建和供应商目录的文件。因此,例如,如果我想搜索所有JavaScript文件并执行⌘+O并输入.js,文件和符号结果包括大约1500个命中值,除了两个之外,其他所有结果都是完全噪音。
是否有一种方法可以指定某些目录以忽略搜索的目的?
现在,当我使用⌘+O搜索文件时,模糊匹配似乎对当前项目中的所有文件进行操作。不幸的是,这包括许多来自构建和供应商目录的文件。因此,例如,如果我想搜索所有JavaScript文件并执行⌘+O并输入.js,文件和符号结果包括大约1500个命中值,除了两个之外,其他所有结果都是完全噪音。
是否有一种方法可以指定某些目录以忽略搜索的目的?
当前回答
我想完全排除1个Workspace文件夹,但发现这很困难,因为不管排除模式如何,它总是在每个Workspace文件夹上运行搜索。
最后,解决方案是在文件夹设置搜索排除模式中添加**。
其他回答
用.gitignore创建一个文件,并把你想忽略的文件夹或文件名放进去。
忽略node_modules文件夹下的所有内容
echo node_modules/ > .gitignore
我相信现在必须解决这个问题,但我只是想贡献我的解决方案,这对某些人来说可能很简单,也很有用。
只需在搜索的排除字段中键入下面的行
* / node_modules / *
不需要在你的工作区/VS Code的设置文件中设置任何东西。
由于之前没有提到,一些用户想知道如何在临时搜索中排除多个文件或文件夹:
你可以用逗号分隔的简化globbing模式列表(如VS Code的glob中所述)从搜索中排除多个文件和文件夹。ts来源:
/**
* Simplified glob matching. Supports a subset of glob patterns:
* * `*` to match one or more characters in a path segment
* * `?` to match on one character in a path segment
* * `**` to match any number of path segments, including none
* * `{}` to group conditions (e.g. *.{ts,js} matches all TypeScript and JavaScript files)
* * `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
* * `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
*/
并且不要忘记激活搜索细节面板上的(-)Use Exclude Settings And Ignored Files按钮(…)(按照Shotty的解释)。
如果这些是你想在某个工作空间中忽略的文件夹,你可以转到:
AppMenu > Preferences > Workspace Settings
否则,如果你想在所有工作区中忽略这些文件夹,请转到:
AppMenu >首选项>用户设置
并将以下内容添加到配置中:
//-------- 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"
],
工作空间和用户设置之间的区别在设置文档中有解释
如果您的工作空间中有多个文件夹,请设置搜索。排除在每个文件夹上。工作区设置旁边有一个下拉菜单。
文件夹设置选项卡