如何排除一个文件夹的索引在崇高的文本,而仍然显示在侧边栏?

对于一个有很多依赖项的大型项目,例如在 node_modules/文件夹中,我注意到经常出现 CPU 峰值,因为 Sublime 索引了文件夹中的所有文件。

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

我如何保持例如 node_modules/在侧边栏,但排除它从索引?

23713 次浏览

若要从索引中排除文件,但将它们保留在侧边栏中,请在用户设置中使用 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"等)复制值,否则您将开始索引二进制文件。

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

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

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

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

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

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

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

Node _ module 中的所有文件都将从搜索中删除,但是每个 node _ module 子文件夹在侧栏中仍然可见。

升华文本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

I thought binary_file_patterns wasn't working, because I am in the habit of right-clicking my top level folder and choosing "Find in folder". folder_exclude_patterns works with this but binary_file_patterns still searches everything - because the "Where" field overrides the setting.

所以你可以使用菜单选项 Find > Find in files 或者右击-你的顶级文件夹,选择“ Find in file”,然后删除“ Where”字段中的文本,这样它就会显示占位符文本“ Open files and files”。

显然,你仍然需要把它添加到首选项/设置中:

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