如何在Sublime Text中排除文件夹索引,同时仍然在侧边栏中显示它?

时间:2015-06-20 13:52:09

标签: sublimetext2 sublimetext3 sublimetext

对于具有许多依赖关系的大型项目,例如在node_modules/文件夹中,我注意到频繁的CPU峰值,因为Sublime索引文件夹中的所有文件。

我知道我可以使用folder_exclude_patterns设置隐藏文件和文件夹,但我仍然希望文件夹在侧栏中可见。

我如何保持,例如边栏中显示node_modules/,但将其从索引中排除?

5 个答案:

答案 0 :(得分:160)

要从索引中排除文件但将其保留在侧边栏中,请使用“用户设置”中的binary_file_patterns设置,例如:

"binary_file_patterns": [
  "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds",
  "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip",
  "node_modules/**",
  "bower_components/**"
]

确保复制Settings - Default首选项中的值(此处显示为"*.jpg"等),否则您将开始索引二进制文件。

答案 1 :(得分:31)

您可以在Preferences -> Settings - User中更改个人设置,添加:

{
    "folder_exclude_patterns":
    [
        ".svn", ".git", ".hg", "CVS",
        "node_modules",
    ],
}

答案 2 :(得分:4)

在ST3(Build 3126)中不起作用。

您可以在侧栏中显示节点模块文件夹并以这种方式隐藏文件:

public static boolean isString(Object thing) {
    return thing instanceof String;
}

public void someMethod(Object thing){
    if (!isString(thing)) {
        return null;
    }
    log.debug("my thing is valid");
}

如果要隐藏每个节点模块的子文件夹:

"file_exclude_patterns":
[
    ...,
    "node_modules/**"
]

node_modules中的所有文件都将从搜索中删除,但每个node_module子文件夹仍然可以在侧栏中看到。

答案 3 :(得分:4)

Sublime Text 3现在提供了一种在将文件和文件夹保留在边栏中的同时从索引中排除文件和文件夹的方法:

  "index_exclude_patterns": [
    "*.log",
    "node_modules/*"
  ]

在我的项目中,应用更改后,我发现索引状态菜单有以下改进:

之前:

index "MyApp" collated in 0.70s from 73934 files
index "MyApp" is using 15167488 bytes for 54234 symbols across 1357673 locations

之后:

index "MyApp" collated in 0.00s from 137 files
index "MyApp" is using 61440 bytes for 730 symbols across 4763 locations

答案 4 :(得分:0)

我认为binary_file_patterns无效,因为我习惯于右键单击顶层文件夹并选择“在文件夹中查找”。 folder_exclude_patterns可以使用此功能,但是binary_file_patterns仍会搜索所有内容-因为“位置”字段会覆盖设置。

因此,您可以使用菜单选项“查找”>“在文件中查找”,或者右键单击您的顶级文件夹,选择“在文件夹中查找”,然后删除“位置”字段中的文本,以便显示占位符文本“打开”文件和文件夹”。

显然,您仍然必须将其添加到“首选项/设置”中:

    "binary_file_patterns": [
      "node_modules/",
    ],