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

时间:2017-07-31 19:22:53

标签: search editor sublimetext3 sublimetext text-editor

有没有办法在项目视图中忽略文件夹....

我在一个仓库中有多个应用,每个应用都有'node_modules'

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

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

3 个答案:

答案 0 :(得分:48)

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

示例:

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

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

答案 1 :(得分:24)

如果您转到“首选项”菜单然后选择“设置”,它将打开包含所有设置及其默认值的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 :(得分:2)

我为中等规模的Ruby on Rails项目向"node_modules/", "coverage/", "tmp/cache/"添加了binary_file_patterns,以加快搜索的速度:

"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的默认设置。 / p>

使用folder_exclude_patterns并不是OP正在寻找的干净解决方案。它从侧边栏隐藏文件夹的事实一定会让您挑战自己的理智,因为总有一天您会去寻找那些文件,而这些文件根本不存在。

该问题当然也适用于抑制“查找”结果,应该在阻止太多文件夹之前仔细权衡该结果。仅包括您要积极抑制的文件夹/样式...不要包括您认为根本不会造成问题的简单搜索内容。