如何永久地从崇高文本3中的搜索中排除文件夹?

问题描述 投票:33回答:3

是否有办法在项目视图中始终忽略文件夹...

我在一个仓库中有多个应用程序,每个应用程序都有“node_modules”

mainapp
---microapp
-----node_modules
---microapp2
-----node_modules
---index
---config
---assets

当我在上面的结构中搜索项目时,我想从搜索中排除node_modules文件夹。

search editor sublimetext3 sublimetext text-editor
3个回答
51
投票

转到设置菜单和用户的Preferences.sublime-settings文件,并将新节点添加到名为folder_exclude_patterns的json中。在其中,添加您不想显示的文件夹(以json数组格式)。

例:

{
    // ... other settings
    "folder_exclude_patterns": ["node_modules", "another_folder"],
}

如果要排除某些目录或文件而不将其隐藏在侧边栏中,则可以忽略搜索栏Add Exclude Filter部分中的上述解决方案和Where。但是每次更改搜索目录时都必须指定它。


27
投票

如果您转到“首选项”菜单然后选择“设置”,它将打开包含所有设置及其默认值的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/*"]
}

请注意,两者是不同的,因为前者是文件夹模式,而后者是文件模式。


2
投票

我为"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正在寻找的一个干净的解决方案。事实上它隐藏了侧边栏中的文件夹肯定会让你挑战自己的理智,有一天你会去寻找那些文件但它们根本就不存在。

当然,这种关注也适用于抑制查找结果,应该在阻止太多文件夹之前仔细权衡。只包含您主动要压制的文件夹/模式...不包含您认为不会导致问题的情况下您不需要搜索的内容。

© www.soinside.com 2019 - 2024. All rights reserved.