是index_files在作祟;Sublime Text启动后CPU持续高占用,主因是index_files默认开启且项目含node_modules等目录,导致编辑器同步扫描大量文件,需通过项目级folder_exclude_patterns精准排除而非全局关闭。

确认是不是 index_files 在作祟
Sublime Text 启动后 CPU 持续 80%~100%,十有八九是 index_files 默认开启 + 项目里存在 node_modules、.git、dist 这类目录导致的。它不是“慢”,而是编辑器在你敲字时同步扫描几万文件,反复 stat()、读取、解析 AST —— 这个过程比编译还吃资源。
验证很简单:完全退出 Sublime,按住 Ctrl(Windows/Linux)或 Cmd(macOS)再双击启动。如果此时操作丝滑,基本锁定是索引或插件问题,不是硬件瓶颈。
-
index_files关闭后,Ctrl+R(跳转符号)、Find All References失效,但Ctrl+P(文件名搜索)、Ctrl+Shift+F(文本搜索)照常可用 - 必须完全退出 Sublime(包括托盘进程),再重启 —— 仅重载设置无效,旧索引上下文已固化在内存里
- 关掉后内存占用通常从 1GB+ 直降到 200MB 左右
用 folder_exclude_patterns 精准排除,而不是一刀切关索引
如果你仍需要 Ctrl+P 或 Ctrl+R 在源码里精准跳转(比如 src/ 或 app/ 下),就别全局关 index_files,改用项目级排除更稳妥。
菜单栏 → Project → Edit Project,在 folders 块里加:
{
"folders": [
{
"path": ".",
"folder_exclude_patterns": ["node_modules", "__pycache__", ".git", "dist", "build", "logs"],
"file_exclude_patterns": ["*.log", "*.tmp", "*.zip", "*.tar.gz"]
}
]
}
-
folder_exclude_patterns影响最大:排除后这些目录连图标都不会出现在侧边栏,彻底隔离;LSP 插件(如pylsp)也不会再扫描其中的文件 - 这个配置只对当前项目生效;用
subl .命令行打开时,确保当前目录下有.sublime-project文件,否则不生效 - 别只改用户设置 —— 项目级配置优先级更高,也更适合团队协作统一规范
排查 plugin_host 进程高 CPU 的真实来源
plugin_host 进程持续高占 CPU,说明某个插件在后台疯狂干活。常见元凶是 LSP 类(sublime-lsp + pyright/jdtls)、SublimeLinter、AutoFileName 这些实时分析型插件。
- 先开安全模式:
subl -safe-mode(命令行),若 CPU 正常,说明问题出在插件 - 打开控制台(
Ctrl+`),看是否有重复报错,比如"starting..."循环、Python traceback 或大量on_input日志 - 逐个禁用插件测试:重点盯住启用后立刻触发 CPU 上升的那个;LSP 插件要检查语言服务器是否崩溃重启中
- 某些插件(如
GitGutter)可调低刷新频率:"git_gutter_live_mode": false,改为保存时才更新
清理顽固缓存和残留数据
长期使用后,Cache 和 Index 目录会堆积损坏条目或冗余快照,尤其 LSP 插件的缓存,重装同名插件时可能复用旧索引,卡顿照旧。
- 必须先结束所有
sublime_text.exe进程(窗口关了 ≠ 进程退出) - 删除对应路径下的缓存:
Windows:%LOCALAPPDATA%\Sublime Text 3\Cache\、%APPDATA%\Sublime Text 3\Local\Index\
macOS:~/Library/Caches/Sublime Text 3/、~/Library/Application Support/Sublime Text 3/Local/Index/
Linux:~/.cache/sublime-text-3/、~/.config/sublime-text-3/Local/Index/ - Package Control 卸载插件后,
Packages/User/PluginName.sublime-settings和Packages/User/*.sublime-keymap里的残留绑定也要手动删掉,否则命令面板还能搜到但执行就报错
真正卡顿的根源往往不在插件数量,而在索引范围失控和缓存陈旧 —— 把 node_modules 排除干净,比卸十个插件更管用。


















