关掉index_files可解决90%卡顿,因其默认递归扫描node_modules等大目录导致cpu满载、内存飙升;需在用户设置加"index_files": false并彻底重启,副作用是ctrl+r失效但ctrl+p仍可用。

Sublime 插件卡顿,八成不是插件本身写得差,而是它在你没注意时疯狂扫描、建索引、轮询——关掉 index_files,90% 的“卡”当场消失。
为什么关掉 index_files 最有效
它默认开启,会递归扫描整个项目目录(包括 node_modules、.git、dist),逐个 stat() + read() + 解析内容,构建跳转和搜索数据库。这不是“慢”,是编辑器边让你打字边干编译级的活。
- Windows 上一碰上万文件的
node_modules,主线程直接冻结;macOS 下 FSEvents 触发频繁重扫,CPU 持续 100% - 必须在
Preferences → Settings右侧用户设置里加:"index_files": false - 改完后必须彻底退出(任务管理器确认
sublime_text.exe进程消失),再重启——只重载设置无效 - 副作用明确:
Ctrl+R(跳转符号)、Find All References失效;但Ctrl+P(按文件名)、Ctrl+Shift+F(全局文本搜索)照常可用
folder_exclude_patterns 在用户设置里写根本没用
它只控制侧边栏是否显示,完全不阻止索引扫描。真正起作用的只有项目级配置。
- 菜单栏
Project → Edit Project,在"folders"块里加:"folder_exclude_patterns": ["node_modules", ".git", "__pycache__", "dist", "build", "logs"] - 同时建议加上:
"file_exclude_patterns": ["*.log", "*.tmp", "*.swp", "*.zip"] - 这个规则对 LSP 插件也生效——比如
pylsp不会再扫描被排除目录里的 Python 文件 - 注意:该配置只对当前项目生效;用
subl .命令行打开时,需确保当前目录下存在.sublime-project文件
哪些插件最容易拖垮性能
不是所有插件都平等,有些在后台持续轮询或 fork 进程,不报错但让你打字卡顿、保存延迟、光标响应慢半拍。
-
GitGutter:Windows 上用ReadDirectoryChangesW轮询 Git 状态,遇到大仓库或挂载盘,每秒多次重扫 -
LSP类插件(如sublime-lsp+pylsp/jdtls):持续加载 AST、响应on_input事件,尤其 TypeScript/Python 大项目 -
All Autocomplete:做全局补全扫描,一开就遍历所有打开文件 - 临时验证方法:
subl --safe-mode启动,若变丝滑,问题就在插件或配置
打开大文件前必须做的三件事
50MB 的日志、单行长 JSON、minified JS,卡点不在加载,而在渲染——语法高亮 + 自动换行 + 行号区重绘,三者叠加直接拖垮主线程。
- 先切
Plain Text模式:右下角点当前语法(如JSON)→Open all with current extension as → Plain Text;别信状态栏自动识别,一加载就开始解析 - 关掉
word_wrap:在用户设置中加"word_wrap": false;超长行开启自动换行时,Sublime 会反复计算软换行位置 - 禁用冗余渲染:
"line_numbers": false、"highlight_line": false、"draw_white_space": "none";顺手加"enable_memory_mapping": true(Windows/macOS/Linux 均有效)
真正容易被忽略的是:索引上下文一旦固化在进程里,改完设置不彻底退出,等于白调;而 --safe-mode 不是备用方案,是唯一能快速定位插件冲突的路径。











