sublime卡顿和内存暴涨主因是后台扫描node_modules等目录,关index_files、排除高危路径、清cache/index/local三目录可使plugin_host内存从1.2gb降至200mb内。

Sublime 卡顿和内存暴涨,90% 以上不是你电脑差,而是它在后台默默扫描 node_modules、.git、dist 这类目录——关掉索引、删干净缓存、排除高危路径,三步做完,plugin_host 进程内存能从 1.2GB 直降到 200MB 以内。
关掉 index_files 阻断索引源头
默认开启的 index_files 会让 Sublime 递归扫描整个项目,每碰到一个 node_modules 里的文件就解析、建符号表、加载 AST,内存不涨才怪。这不是“慢”,是编辑器边让你敲字边干编译级的活。
- 打开
Preferences → Settings – User,在右侧 JSON 中加这一行:"index_files": false - 必须完全退出 Sublime(Windows 查任务管理器确认
sublime_text.exe消失;macOS 用活动监视器确认Sublime Text和plugin_host都已退出),再重启——只重载设置无效 - 副作用明确:
Ctrl+R(跳转符号)、Find All References失效,但Ctrl+P(按文件名搜)、Ctrl+Shift+F(全局文本搜索)照常可用 - 若仍需部分跳转能力,别全局关,改用项目级排除(见下一条)
用 folder_exclude_patterns 精准隔离高危目录
光关 index_files 不够,某些插件(比如 LSP、SublimeLinter)会绕过该设置,自己扫描打开的文件——尤其是你刚双击进一个 src/ 下的 Python 文件,pylsp 就可能顺手把整个 node_modules 当作潜在 Python 项目扫一遍。
- 菜单栏
Project → Edit Project,在folders块里加排除规则:"folder_exclude_patterns": ["node_modules", "__pycache__", ".git", "dist", "build", "logs"] - 这个配置优先级高于用户设置,且只对当前项目生效,团队协作时也更可控
- 排除后,这些目录连图标都不会出现在侧边栏——真正“看不见”,不是“假装看不见”
-
file_exclude_patterns可顺手加上:"file_exclude_patterns": ["*.log", "*.tmp", "*.zip"],防止Find in Files被拖垮
彻底删除 Cache、Index、Local 三目录
只改设置不删缓存,等于给发烧病人量体温却不退烧。旧缓存残留是隐形推手:即使卸载了 LSP-pyright,它的类型缓存可能还卡在 Cache/pyright/ 下,每次启动都被重新加载。
- 先彻底退出 Sublime(含托盘进程),否则文件被锁,删不掉或删了也立刻重建
- 必须删全以下三处(路径因系统而异,但结构一致):
–Cache(临时数据,安全可删)
–Index(全文搜索和跳转的底层数据库,体积大、易损坏,是卡顿主因)
–Local(存崩溃恢复、窗口布局、UI 状态,长期碎片化会导致启动卡顿、菜单错位) - macOS 示例路径:
~/Library/Application Support/Sublime Text/Cache、~/Library/Caches/Sublime Text、~/Library/Application Support/Sublime Text/Local/Index - 删完别急着开项目,先冷启动一次,让 Sublime 重建干净索引
检查 Packages/User/ 下的残留插件配置
插件卸载 ≠ 配置清除。LSP.sublime-settings、SublimeLinter.sublime-settings 这类文件不会随插件卸载自动删除,它们还在后台悄悄激活语言服务器、触发诊断、维持连接。
- 打开
Packages/User/目录(Preferences → Browse Packages…可直达) - 删掉所有带插件名的
.sublime-settings文件,例如:LSP.sublime-settings、GoSublime.sublime-settings、SublimeLinter.sublime-settings - 如果不确定某配置是否还在用,先重命名备份(如
LSP.sublime-settings.bak),重启验证后再决定是否永久删除 - 特别注意:
Preferences.sublime-settings里也可能残留插件相关字段,比如"lsp_auto_complete"或"sublimelinter_executable_map",一并清理
最容易被忽略的是:删完缓存、关掉索引、排除目录之后,如果没彻底退出 plugin_host 进程,那些插件的 goroutine、语言服务器实例、AST 缓存依然驻留在内存里——它不响应你的设置变更,只等你下次重启才清零。











