VS代码search.exclude不起作用

时间:2017-08-26 11:55:33

标签: ide visual-studio-code

我无法设置search.exclude设置,因此它会排除build文件夹。

这里的截图: enter image description here

4 个答案:

答案 0 :(得分:5)

以防万一,这可能会影响您的文件/搜索排除设置是否按预期工作。

  • 再次检查您是否使用了正确的模式;您可以查看VS Code支持的here模式。一个common problem就是不要在您要排除的扩展名之前添加*,例如**/.min.js将排除所有名为“ .min.js”的文件,而**/*.min.js将排除所有以结尾“ .min.js”的文件。
  • 确保已启用“使用排除设置并忽略文件”齿轮(它位于“要排除的文件”字段旁边;如果看不到,请单击“替换”下的小“ ...” “字段)。启用它会排除您在search.exclude设置中定义的任何模式,该模式在任何.gitignore文件中定义。这只会影响您的排除设置是否将应用于您的搜索;您输入到“要排除的文件”输入字段中的任何模式都将始终适用。
  • 如果您不想排除.gitignore模式,请将search.useIgnoreFiles设置为false(默认情况下为true)。如果某个模式被某些.gitignore文件排除,并且search.useIgnoreFiles为true,即使您将该模式添加到search.exclude并将其设置为false,它仍将被忽略(see this issue) 。
  • files.exclude中的任何模式都将automatically be excluded from search results,而不仅仅是文件浏览器。
  • 即使您创建自己的files.excludesearch.exclude设置字段,也会排除所有默认模式。要覆盖默认排除模式,您必须将每个默认模式复制到用户定义的设置中,并将其设置为false,例如"search.exclude": {"**/node_modules": false, "**/bower_components": false}
  • 如已接受的答案所指出,即使当前打开的文件未包括在您的设置中,也将始终包含在结果中。
  • 到目前为止,VS Code不支持negated glob exclusions,因此,如果您的search.exclude具有类似{"**/*": true, "**/myfolder": false}的模式,则“ myfolder”中的文件将不包含在结果中。相反,您必须详尽列出要排除的所有文件夹。
  • “用户设置”中的任何设置都将全局应用,而“工作区设置”将仅应用于当前工作区,因此请确保将设置放在所需的部分。

如果仍然有问题,可以通过将日志级别设置为跟踪并在执行搜索(see here for more instructions时读取输出)来查看VS Code排除的文件夹。

答案 1 :(得分:3)

这看起来像这个错误:https://github.com/Microsoft/vscode/issues/31819 - config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } constraints: new { controller = @"(?!DefaultApi).*" } ); 不适用于打开的文件。

答案 2 :(得分:0)

search.useRipgrep 似乎忽略了排除设置。对我来说,当我禁用search.useRipgrep时,排除开始工作。

我的环境:Windows 10; VSC已安装在用户目录中(根据上次更新的建议)。

答案 3 :(得分:0)

**/build对我不起作用。相反,我使用build/**,它可以正常工作。