关掉index_files是最直接有效的降CPU和内存手段,因其默认全项目扫描node_modules等目录导致90%以上高占用,需在用户设置加"index_files": false并彻底重启,否则旧索引驻留内存;副作用是F12跳转和Find All References失效,但Ctrl+P(仅已打开文件)及Ctrl+Shift+F仍可用。

关掉 index_files 是最直接有效的降 CPU 和内存手段,90% 以上的高占用都源于它在后台扫描 node_modules、.git、dist 这类目录。
为什么必须关 index_files?
Sublime 默认开启全项目文件索引,不是“等你用才建”,而是一打开项目就同步扫描所有子目录——哪怕你只编辑一个 main.js。遇到含数万文件的 node_modules,它会反复 stat() + 读取 + 解析,CPU 拉满、内存涨到 1GB+ 且不释放。
-
index_files设为false后,Ctrl+P仍能搜已打开的文件名,Ctrl+Shift+F全局文本搜索也照常;但F12(Go to Definition)、Find All References会失效 - 必须完全退出 Sublime(包括托盘进程),再重启——仅重载设置无效,旧索引上下文已固化在内存里
- 关掉后实测内存常从 1GB+ 直降到 200MB 左右,UI 卡顿消失
用 folder_exclude_patterns 精准排除,而非全局关索引
如果你仍需 Ctrl+R 跳转符号或 Ctrl+P 搜索未打开的源码文件(比如只在 src/ 下索引),就别全局关 index_files,改用项目级排除更稳妥。
- 操作路径:菜单栏
Project → Edit Project,在 JSON 的folders块中补全:{ "folders": [ { "path": ".", "folder_exclude_patterns": ["node_modules", "__pycache__", ".git", "dist", "build", "logs"], "file_exclude_patterns": ["*.log", "*.tmp", "*.zip", "*.min.js"] } ] } -
folder_exclude_patterns影响最大:排除后这些目录连图标都不会显示在侧边栏,彻底隔离;file_exclude_patterns主要防误搜,对内存影响小 - 注意:
folder_exclude_patterns只作用于项目根目录下的子目录;若依赖在深层(如src/lib/node_modules),得靠 LSP 插件自身的initializationOptions单独配置
清理顽固缓存和索引残留
长期使用后,Cache 和 Index 目录会残留损坏条目或冗余快照,尤其 LSP 类插件重装时会复用旧索引,卡顿照旧。
- 必须先完全退出 Sublime(包括托盘进程),再删除以下路径:
macOS:~/Library/Application Support/Sublime Text/Cache、~/Library/Caches/Sublime Text/、~/Library/Application Support/Sublime Text/Local/Index
Windows:%APPDATA%\Sublime Text\Cache、%LOCALAPPDATA%\Sublime Text\Local\Index
Linux:~/.config/sublime-text-3/Cache、~/.config/sublime-text-3/Local/Index - 删完再启动,首次加载可能略慢(重建基础缓存),但后续稳定性明显提升
- 某些插件(如
LSP-pyright)的缓存独立存在,需额外进其插件目录手动清cache/子目录
排查 plugin_host 进程失控
plugin_host 是 Sublime 运行 Python 插件的独立进程,一旦它持续占满一个 CPU 核,基本就是某个插件失控了——比如 LSP 服务器反复崩溃重启、SublimeLinter 在大文件上实时校验、或 GitGutter 持续轮询状态。
- 快速验证:
subl --safe-mode启动,如果 CPU 正常,说明问题出在插件 - 打开控制台(
Ctrl+`),重点看有没有重复报错、starting...循环日志,或高频Python traceback - 高频嫌疑插件:
LSP-pyright/LSP-eslint、SublimeLinter、AutoFileName、GitGutter、Terminus - 临时禁用方法:
Preferences → Package Control → Disable Package,逐个试,观察任务管理器变化
真正卡住的时候,往往不是单一设置没调对,而是 index_files 扫描 + folder_exclude_patterns 配置层级错误 + 插件缓存残留三者叠加。先彻底退出、清缓存、关索引,再按需开项目排除,比反复调参数更省时间。











