Ignore the generated directories of the common ecosystems#2122
Merged
Conversation
The defaults only covered editor and VCS directories, so under native or hybrid indexing every JavaScript project offered you the whole of node_modules, every Rust one its target directory, and so on. Under alien the VCS was already hiding them, which is why this went unnoticed for so long. Names that projects do sometimes commit - vendor, dist, public, build - are left out on purpose; the rest are things a tool generates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
projectile-globally-ignored-directoriesonly covered editor and versioncontrol directories, so under
nativeorhybridindexing a JavaScriptproject offered you the whole of
node_modules, a Rust one itstarget, aPython one every
__pycache__. Underalienthe VCS was already hiding those,which is presumably why it went unnoticed for so long - but that leaves the
other two indexing methods, and projects that aren't under version control at
all, in a bad place out of the box.
So the defaults now include the dependency and build output directories of the
common ecosystems. Names that projects do sometimes commit -
vendor(Go),distandpublic(published libraries and site output),build(as often asource directory as an output one) - are deliberately not in the list.
This is a behavior change for anyone who was relying on seeing those files.
projectile-globally-unignored-directoriestakes an entry back globally, and a!line in a project's.projectiletakes it back for that project.