sublime text 项目索引慢的根源是默认索引整个项目目录(含 node_modules、.git 等无用文件),导致多项目共存时内存占用高、无优先级调度;解决方法是配置 folder_exclude_patterns 精准排除、关闭 index_files 并手动触发 reindex_project,同时定期清理对应项目缓存子目录。

Sublime Text 项目索引为什么慢?
不是硬盘慢,也不是 CPU 不够——是默认把整个项目目录(包括 node_modules、.git、build/)全塞进索引队列。一旦项目多、依赖大,indexing... 就卡在状态栏右下角不动,切项目时等 5 秒起步。
- 索引本质是 Sublime 启动时扫描所有文件的符号(函数、类、变量名),用于
Ctrl+P跳转和Ctrl+R查函数 - 它不区分“当前活跃项目”,只要加到
Project > Add Folder to Project...,就默认参与全局索引 - 多个项目共存时,索引内存占用翻倍,且无优先级调度——刚切进的项目未必最先完成索引
怎么关掉没用的文件夹索引?
靠 folder_exclude_patterns 和 file_exclude_patterns 配置项,在项目设置里精准“划界”,不是靠关掉整个索引功能。
- 打开
Project > Edit Project,在"folders"数组每个对象里加排除规则 - 必须写在具体文件夹配置下,不能只写在顶层
"settings"里(那样无效) - 常见误配:
"node_modules"漏了下划线、"dist"写成"build"却忘了实际目录叫"out"
{
"folders":
[
{
"path": "my-react-app",
"folder_exclude_patterns": ["node_modules", "dist", ".git"],
"file_exclude_patterns": ["*.log", "*.tmp"]
}
]
}
项目切换还卡?试试禁用自动索引 + 手动触发
默认开启的 index_files 是罪魁祸首——它让 Sublime 在后台持续扫描,一开 3 个项目,CPU 就干烧。关掉它,改用手动按需索引,响应立刻变快。
- 全局关:在
Preferences > Settings左侧加"index_files": false - 但这样
Ctrl+P搜不到新文件——所以补一手快捷键:绑定reindex_project命令到Ctrl+Alt+I(或其他空闲组合) - 只在真正需要跳转新文件时按一下,索引范围仅限当前项目,不波及其他
缓存文件位置和清理时机
Sublime 的索引缓存存在用户数据目录里,不是临时文件,不会随重启清空。旧项目删了但缓存还在,照样拖慢启动。
- Windows 缓存路径:
%APPDATA%\Sublime Text\Packages\User\Cache\ - macOS:
~/Library/Application Support/Sublime Text/Packages/User/Create Cache/(注意不同版本路径略有差异) - 别手动删整个
Cache文件夹——会清掉所有项目缓存,下次打开全重扫;只删对应项目名的子目录(如my-django-app.cache) - 如果某项目改名或移动过路径,旧缓存残留会导致索引错乱,表现为
Ctrl+R找不到刚写的函数
缓存机制本身没毛病,问题出在“缓存不随项目生命周期自动管理”。你得把它当数据库连接池看:用完不关,积压多了,新请求就得排队。











