我使用Sublime Text 3已经有一段时间了,在过去的几周里,我遇到了一个问题,Sublime会产生大量的进程,占用我100%的CPU。
下面是wmic进程的输出,其中"name='sublime_text.exe'“
CommandLine ProcessId
"C:\Program Files\Sublime Text 3\sublime_text.exe" 10980
"/C/Program Files/Sublime Text 3/sublime_text.exe" "--crawl" "10980:crawl:1" 12152
"/C/Program Files/Sublime Text 3/sublime_text.exe" "--crawl" "10980:crawl:1" 8420
"/C/Program Files/Sublime Text 3/sublime_text.exe" "--crawl" "10980:crawl:3" 6016
"/C/Program Files/Sublime Text 3/sublime_text.exe" "--crawl" "10980:crawl:3" 12008当我打开Sublimes控制台时,我看到以下几行
worker 8420 appears stuck while processing file /D/dev/project/ext/index.html, killing process
worker 8420 appears stuck while processing file /D/dev/project/ext/build/index.html, killing process此后,我从索引中删除了整个/D/dev/ project /ext文件夹,然后从项目整体中删除了它,但这似乎没有什么帮助。
以前有没有人见过这个?我真的不想重新安装Sublime。
发布于 2015-10-22 05:25:51
可能是因为您打开了一个包含第三方库的项目。
在我的特殊情况下,如果我不从某个较大的node.js应用程序的项目索引node_modules目录中排除,我就会遇到这种问题。
Sublime Text尝试在每次运行时刷新索引文件。
在项目中添加排除模式:
"folder_exclude_patterns":
[
"DIR_NAME"
]
发布于 2019-05-08 12:49:06
这个问题我已经提过好几次了,所以我想给出一个更完整的答案。
它们是什么?我如何阻止它们?
您看到的进程是索引工作器,它们解析项目侧栏中包含的所有文件(是的,每个文件),并为Goto Anything建立索引。参见Sublime Text 3 File Indexing。
禁用所有索引
这可以通过将"index_files": false,添加到您的Preferences.sublime-settings (Prefereces > Settings)来完全禁用。要在系统范围内禁用此设置,可以将其添加到Default设置文件中,也可以将其添加到User设置文件中。这两种方法都行得通。
限制索引的范围
但是,如果您不希望完全禁用索引,则可以简单地修改从索引中排除的文件的范围:
(这是一个很好的开始列表,但请随意编辑以更好地满足您的需求)
"index_exclude_patterns": [
"data/*",
"log/*",
"logs/*",
"node_modules/*",
"vendor/*",
"*.log"
]此外,您可能还希望扩展被认为是“二进制”文件(二进制文件也被排除在索引之外):
"binary_file_patterns": [
"*.bz2",
"*.cache",
"*.dds",
"*.eot",
"*.gif",
"*.gz",
"*.ico",
"*.jar",
"*.jpeg",
"*.jpg",
"*.pdf",
"*.png",
"*.swf",
"*.tar",
"*.tga",
"*.ttf",
"*.zip"
]我见过有人建议将文件夹添加到folder_exclude_patterns数组中,但这是要隐藏的文件夹列表,不会显示在侧栏中。虽然没有显示在侧边栏中的文件夹将不会被索引,但可能存在您确实希望显示但不希望被索引的文件或文件夹;在这种情况下,应该使用index_exclude_patterns。
限制每个项目的索引
还可以在*.sublime-project文件中为每个项目定义索引排除:
{
"folders":
[
{
"path": "src",
"folder_exclude_patterns": ["vendor"]
},
{
"path": "doc",
"index_exclude_patterns": ["*.md"]
}
]
}限制索引工作进程的数量
还值得注意的是,您可以使用"index_workers": 1,限制索引工作进程的数量,其中1是工作进程的数量。默认情况下,这个数字是0,它会指示Sublime根据可用的CPU核心数来猜测和最佳工作进程数。
发布于 2015-03-26 21:24:21
删除包含这两个问题文件的文件夹确实起到了作用,但前提是我还删除了Javatar插件。从那以后,我又添加了Javatar插件,从那以后我再也没有添加过问题,所以如果我要猜测的是,当我删除文件项目并重新启动Sublime时,Javatar插件仍然知道它们,并告诉Sublime索引它们。一旦我卸载并重新安装了Javatar插件,在文件被删除之后,一切似乎都运行得很好。
https://stackoverflow.com/questions/29260350
复制相似问题