关掉index_files是最关键一步,因sublime默认递归索引所有文件夹(如node_modules),导致cpu和内存飙升;需在用户设置中添加"index_files": false,并在项目配置中用folder_exclude_patterns排除无关目录。

为什么装完大型插件后Sublime变卡
不是插件“本身慢”,而是它触发了后台索引、语法分析或实时监听——比如LSP插件会启动语言服务器并扫描整个项目,All Autocomplete会遍历所有打开文件构建补全词库,GitGutter在Windows上用ReadDirectoryChangesW轮询状态。这些行为叠加index_files默认开启,CPU和内存瞬间拉满。
关掉index_files是最关键一步
80%以上的卡顿根源在此:Sublime默认对所有文件夹递归建索引,哪怕你只打开了一个JS文件,只要项目里有node_modules,它就会把十万个小文件塞进内存。关掉后Ctrl+P和Ctrl+Shift+F照常工作,但Ctrl+Click跳转定义会失效——这是可接受的代价。
- 打开
Preferences → Settings,在右侧用户设置中加:"index_files": false - 别在用户设置里写
folder_exclude_patterns——那只能隐藏侧边栏,不阻止索引 - 真正生效的排除必须写在项目配置里:
Project → Edit Project,填入"folder_exclude_patterns": ["node_modules", "dist", ".git"]
LSP类插件要限制作用范围
LSP(如SublimeLSP + typescript-language-server)卡顿主因是分析范围过大。它默认监听整个folders,遇到node_modules就卡死。不能靠禁用插件,得精准控制它的扫描边界。
- 在LSP插件的settings中配
"enabled": false全局关掉,再按需启用 - 为特定语言设
"selector": "source.ts, source.tsx",避免误扫JSON/Markdown - 用
"initializationOptions"传{"include": ["src/**/*"]}给服务端,让语言服务器自己过滤路径 - 确认
sublimelsp.sublime-settings里没开"show_diagnostics_in_view_status"——这个会在每行末尾实时渲染诊断信息,滚动时GPU压力飙升
插件依赖模块装错会导致持续卡顿
像mdpopups、markupsafe这类底层依赖,如果以源码形式手动放进Packages目录但没编译,Sublime每次启动都会尝试import失败,反复刷ImportError日志,拖慢初始化。
- 依赖必须是
.sublime-package格式(ZIP压缩包),不能是解压后的文件夹 - 从GitHub Releases下载预编译包,例如
mdpopups.sublime-package,直接丢进Packages/根目录 - 删掉同名的源码文件夹(如
Packages/mdpopups/),否则Sublime优先加载它并报错 - 重启前检查控制台:
Ctrl + `,看是否有重复ImportError——有就说明依赖没装对
真正麻烦的不是“怎么关”,而是“关哪里”。用户设置、项目设置、插件专属设置三层嵌套,改错一层就白调。尤其folder_exclude_patterns写在用户设置里完全无效,这种细节漏掉,再调参也没用。











