如何在Sublime Text中将文件夹从索引中排除,但仍然在侧边栏显示?

120
对于一个有许多依赖库的大型项目,例如在node_modules/文件夹中,我注意到由于Sublime索引文件夹中的所有文件而导致CPU频繁升高。
我知道可以使用folder_exclude_patterns设置隐藏文件和文件夹,但我仍希望该文件夹在侧边栏中可见。
如何保持例如 node_modules / 在侧边栏中,但将其从索引中排除?
5个回答

201

如果要从索引中排除文件但保留它们在侧栏中,可以使用binary_file_patterns设置在您的用户设置中,例如:

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

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


7
我想实现与OP相同的目标,但说实话,对于我来说,“binary_file_patterns”会导致Sublime Text 3的CPU使用率飙升。不幸的是,我只能通过使用“folder_exclude_patterns”使其平静下来。我的电脑是2013年末的Macbook Pro。 - Brian FitzGerald
3
我和 @BrianFitzGerald 一样也遇到了这个问题,在 OS X 上必须使用 folder_exclude_patterns。(ST Build 3103,OS X 10.11) - t.mikael.d
39
截至2017年3月,Sublime Text 3中的首选项是index_exclude_patterns,例如:"index_exclude_patterns": ["*.log","node_modules/**","bower_components/**"] - Paul Wenzel
2
@Michael 我读到过 "folder_exclude_patterns": ["name_of_folder"] 可以帮助从搜索结果中删除某些模式,但我还没有测试过。来源:https://coderwall.com/p/bk90bw/exclude-a-directory-from-searching-in-sublime-text-2 - Paul Wenzel
3
我可以确认,“index_exclude_patterns”不会在“Goto Anything”(⌘P)搜索中隐藏“node_modules”文件:"index_exclude_patterns": ["*.log", "node_modules/**"],此信息经过测试,使用的是Sublime Text 3.1.1版本,Build 3176。 - olistik
显示剩余6条评论

40

您可以在首选项 -> 设置 - 用户中更改个人设置,添加:

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

21
如果你仍希望在侧边栏中显示文件夹,那么这不是解决方案。 - xiao
我使用命令-P来隐藏和忽略文件夹: "folder_exclude_patterns": ["build/**", ".gradle", "node_modules/**"], - BYTE RIDER

14

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

6

在ST3(Build 3126)中无法工作。

您可以通过以下方式展示侧边栏中的节点模块文件夹并隐藏其中的文件:

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

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

"folder_exclude_patterns":
[
    "node_modules/*/**"
]

所有在node_modules文件夹中的文件都将从搜索结果中移除,但每个node_module子文件夹仍将在侧边栏中可见。


3
这只显示了 node_modules 文件夹,但没有子文件夹,所以并不是很有效。 - Vishal Sakaria

0

我之前以为 binary_file_patterns 没有起作用,因为我习惯于右键点击我的顶层文件夹并选择“在文件夹中查找”。folder_exclude_patterns 可以与此配合使用,但是 binary_file_patterns 仍然会搜索所有内容 - 因为“Where”字段覆盖了设置。

所以你可以选择使用菜单选项 “查找 > 在文件中查找”,或者右键点击你的顶层文件夹,选择“在文件夹中查找”,然后删除“Where”字段中的文本,以便显示占位文本 “打开文件和文件夹”。

显然,你仍然需要将这个添加到首选项/设置中:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接