I created a quick-and-dirty plugin, sublime-gitignorer, to solve exactly this problem.
It is currently tested on Ubuntu and Windows in Sublime Text 2 and 3. I expect it will also work on any other Linux distro or on Mac.
To install, assuming you have package control, just:
- Press CTRL+SHIFT+P (CMD+SHIFT+P on Mac)
- Select "Install Package"
- Search for the Gitignored File Excluder and press Enter.
Alternatively, if you don't have package control you can copy gitignore_plugin.py to your Packages directory, which you can locate by selecting Browse Packages...
from the Preferences
menu in Sublime. You should really get Package Control instead, though - it's useful.
I'm not kidding when I say this plugin is dirty. The way it works is that the plugin, every five seconds:
- Checks for Git repos located within your open folders
- Asks Git what paths are ignored in each of those repos
- Adds those paths to the
file_exclude_patterns
and folder_exclude_patterns
settings.
Seems to work okay for most users, though - at least as long as the folders you're opening in Sublime aren't too huge. The presence of giant folders (e.g a typical node_modules
folder) can, in combination with this plugin, slow Sublime to a crawl.
Anyone looking to contribute or report bugs should check out the issues page.
.gitignore
already exists in most repoes for almost the exact same file list. – Jonatan Littke.gitignore
would be trivial, and shoving that into your project settings shouldn't be too terribly hard. There is a setting called"file_exclude_patterns"
that is editor-wide, you could put your common ones there as a temporary fix. – bheklilrgit ls-files
command output to populate the file list. Parsing.gitignore
file is not as trivial as it looks, as it has some specific formats you would need to reimplement by hand (e.g. lines starting with!
are negated patterns). I think it would be better to let git do this work, as it knows how to do it. – MetalElf0