关掉index_files是最快见效的解法,90%卡顿直接消失;但需保留跳转功能时,必须在Project→Edit Project中配置folder_exclude_patterns和file_exclude_patterns精准过滤,因仅项目级设置生效,全局配置或右键排除无效。

关掉 index_files 是最快见效的解法,90% 的卡顿直接消失;但若需保留跳转定义等功能,必须用项目级 folder_exclude_patterns 和 file_exclude_patterns 精准过滤,而不是依赖插件或手动右键排除。
为什么 index_files 是卡顿头号元凶
Sublime 默认开启全项目递归索引,会扫描每个文件的元数据、读取文件头、构建符号数据库——哪怕你只打开了一个 .js 文件,它也会把旁边 node_modules 里几万个小文件全塞进内存。Windows 上主线程常被 stat() 调用拖死;macOS 下 FSEvents 触发频繁重扫,CPU 持续 100%。这不是“慢”,是硬性阻塞。
实操建议:
- 打开
Preferences → Settings – User,在右侧 JSON 中加一行:"index_files": false - 关掉后
Ctrl+Click跳转定义、Find All References失效,但Ctrl+P(按文件名跳)、Ctrl+Shift+F(全局文本搜)完全不受影响 - 别信“我项目小”,只要没配
folder_exclude_patterns,它就照单全收
项目级排除比全局关更灵活:怎么写 folder_exclude_patterns
全局关 index_files 简单粗暴,但如果你仍需函数跳转等能力,就得靠项目配置精准瘦身。注意:仅在 Project → Edit Project 里写的排除才生效,侧边栏右键 “Add to Project Exclude List” 是临时行为,重启后可能丢失。
实操建议:
- 执行
Project → Edit Project,确保folders数组内有且仅有一个对象 - 添加
"folder_exclude_patterns": ["node_modules", ".git", "__pycache__", "dist", "build", "public/images"] - 顺手加
"file_exclude_patterns": ["*.log", "*.zip", "*.png", "*.jpg", "*.webp"],防止单个大图或日志文件被误加载 - 路径区分大小写,
assets和Assets要分开写;通配符不支持嵌套,"**/logs"无效
哪些插件会在背后偷偷全量扫描图片和日志
很多插件默认无视文件类型,一视同仁地全量扫描——它们不看你的 file_exclude_patterns,只认自己那一套规则。
常见高危插件:
-
GitGutter:为每个文件调用git status,含千张图的assets/目录一开就卡 -
SublimeLinter或ESLint:若未设"lint_mode": "save"和"extensions",会对.svg、.json甚至.log跑校验 -
SideBarEnhancements:右键菜单里的 “Copy Path” 触发stat,千图目录下延迟明显 - 验证方法:启动时按
Ctrl+Shift+P→ 输入Package Control: Disable Package,挨个禁用再试
缓存不清理,再好的配置也白搭
Index 缓存损坏、插件残留编译产物、UI 状态碎片化,都会让优化失效——你改了设置却没效果,大概率是缓存没清干净。
必须清空的目录(路径因系统而异):
- Windows:
%LOCALAPPDATA%\Sublime Text\Index和%APPDATA%\Sublime Text\Cache - macOS:
~/Library/Application Support/Sublime Text/Index和~/Library/Caches/Sublime Text - Linux:
~/.config/sublime-text/Index和~/.cache/sublime-text - 删完后务必彻底退出 Sublime(任务管理器确认进程消失),再重启
真正容易被忽略的是 Local 和 State 目录:它们存崩溃恢复数据和 UI 状态,长期运行后会导致菜单错位、主题加载失败、启动卡顿——这些不是“可选清理项”,是性能瓶颈的根因之一。


















