是否有办法在项目视图中始终忽略文件夹...
我在一个仓库中有多个应用程序,每个应用程序都有“node_modules”
mainapp
---microapp
-----node_modules
---microapp2
-----node_modules
---index
---config
---assets
当我在上面的结构中搜索项目时,我想从搜索中排除node_modules
文件夹。
转到设置菜单和用户的Preferences.sublime-settings
文件,并将新节点添加到名为folder_exclude_patterns
的json中。在其中,添加您不想显示的文件夹(以json数组格式)。
例:
{
// ... other settings
"folder_exclude_patterns": ["node_modules", "another_folder"],
}
如果要排除某些目录或文件而不将其隐藏在侧边栏中,则可以忽略搜索栏Add Exclude Filter
部分中的上述解决方案和Where
。但是每次更改搜索目录时都必须指定它。
如果您转到“首选项”菜单然后选择“设置”,它将打开包含所有设置及其默认值的JSON文件。此文件还可用作设置含义的文档。其中两个在这里是相关的。这是JSON文件的片段;
// folder_exclude_patterns and file_exclude_patterns control which files
// are listed in folders on the side bar. These can also be set on a per-
// project basis.
"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],
"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db", "*.sublime-workspace"],
// These files will still show up in the side bar, but won't be included in
// Goto Anything or Find in Files
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
它在这里说folder_exclude_patterns
隐藏它从侧栏,而binary_file_patterns
隐藏它从搜索。因此,如果要将它们从两者中排除,可以打开“用户设置”文件(它会覆盖默认设置)并添加;
{
"folder_exclude_patterns": ["node_modules"],
"binary_file_patterns": ["*/node_modules/*"]
}
请注意,两者是不同的,因为前者是文件夹模式,而后者是文件模式。
我为"node_modules/", "coverage/", "tmp/cache/"
添加了binary_file_patterns
用于我的中型Ruby on Rails项目,以加快我痛苦的慢搜索速度:
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds",
"*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip",
"node_modules/", "coverage/", "tmp/cache/"],
之前,查找所有文件大约需要7秒钟:
Searching 28526 files for "as records_with_errors"
之后,查找所有文件只需不到1秒:
Searching 1658 files for "as records_with_errors"
我添加coverage
不是为了性能,而是为了防止冗余,无用的搜索结果。
顺便说一下,我发现这个问题的大部分解决方案都集中在folder_exclude_patterns
上,忽略了binary_file_patterns
可以指定文件夹模式,可能是因为它的名称和Sublime的默认设置。
使用folder_exclude_patterns
并不是OP正在寻找的一个干净的解决方案。事实上它隐藏了侧边栏中的文件夹肯定会让你挑战自己的理智,有一天你会去寻找那些文件但它们根本就不存在。
当然,这种关注也适用于抑制查找结果,应该在阻止太多文件夹之前仔细权衡。只包含您主动要压制的文件夹/模式...不包含您认为不会导致问题的情况下您不需要搜索的内容。