VS Code search.exclude doesn't work
Just in case this helps anyone else, here's a list of things that could be affecting whether your file/search exclusion settings are working as expected.
- Double-check whether you're using the right patterns; you can see what kinds of patterns VS Code supports here. One common problem is to not add
*
before an extension you want to exclude, e.g.**/.min.js
will exclude all files named ".min.js", while**/*.min.js
will exclude all files ending in ".min.js". - Make sure the "Use Exclude Settings and Ignore Files" gear is toggled on (it's next to the "files to exclude" field; if you don't see it, click the little "..." under the "Replace" field). Turning it on will exclude any patterns in your
search.exclude
settings and patterns defined in any .gitignore files. This only affects whether your exclusion settings will be applied to your search; any pattern you put into the "files to exclude" input field will always be applied. - If you don't want to exclude .gitignore patterns, set
search.useIgnoreFiles
to false (it's true by default). If a pattern is excluded in some .gitignore file andsearch.useIgnoreFiles
is true, even if you add that pattern to yoursearch.exclude
and set it to false, it will still be ignored (see this issue). - Any patterns in
files.exclude
will automatically be excluded from search results, not just from the file explorer. - All of the default patterns will be excluded even when you create your own
files.exclude
orsearch.exclude
settings field. To override the default exclusion patterns, you must copy each default pattern into your user-defined settings and set them to false, e.g."search.exclude": {"**/node_modules": false, "**/bower_components": false}
. - As noted by the accepted answer, any currently opened files will always be included in results, even if they're excluded in your settings.
- As of now, VS Code doesn't support negated glob exclusions, so if your
search.exclude
has patterns like this{"**/*": true, "**/myfolder": false}
, files in "myfolder" won't be included in your results. Instead, you must exhaustively list all folders you want excluded. - Any settings in User Settings will be applied globally while Workspace Settings will only apply to the current workspace, so make sure you're placing your settings in the section you want.
If you're still having problems, you can see which folders VS Code is excluding by setting the log level to trace and reading the output when you perform a search (see here for more instructions).
This looks like this bug: https://github.com/Microsoft/vscode/issues/31819 - search.exclude
won't apply to open files.