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

是否有一种方法可以指定某些目录以忽略搜索的目的?


当前回答

在vscode项目中创建这个文件

.vscode/settings.json

{
  "search.exclude": {
    "**/Pods": true,
    "**/node_modules": true,
    "**/*.code-search": true
  }
}

其他回答

从子文件夹中排除所有内容如下所示(2019版)

包括

./db

排除

./db/*

扩展投票最多的答案,现在有一个扩展来实现这里描述的以GUI方式快速切换。它叫做Explorer Exclude。你可以用下面的命令来安装:

ext install PeterSchmalfeldt.explorer-exclude

演示:

忘记上面的vscode排除搜索模式,尝试下面的模式,它是工作在vscode上一个版本的任何文件夹!

!../../../ 的地区- *

例如,我已经搜索如下 Vscode示例包含设置

文件包括: * . js

要排除的文件: * * / node_modules ,!../../../ 地区 /,!../../../ 主题/ ! . . / . . /管理/客户/ *

由于之前没有提到,一些用户想知道如何在临时搜索中排除多个文件或文件夹:

你可以用逗号分隔的简化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的解释)。

在vscode项目中创建这个文件

.vscode/settings.json

{
  "search.exclude": {
    "**/Pods": true,
    "**/node_modules": true,
    "**/*.code-search": true
  }
}