启用save_on_focus_lost是Sublime Text唯一原生、真实落盘、防断电丢代码的失焦自动保存方式;其他所有auto_save类字段均无效,且可能破坏配置或干扰插件;需在User Settings中严格添加"save_on_focus_lost": true并保存生效。

save_on_focus_lost 是 Sublime Text 唯一原生有效、真实落盘的自动保存机制。其他所有带 auto_save 前缀的配置(如 auto_save、auto_save_interval)在官方源码中根本不存在,写了也不生效,还可能干扰插件逻辑。
怎么正确启用 save_on_focus_lost
它只在你切出整个 Sublime 窗口(比如点到终端、浏览器、桌面)时,对已修改、可写、已命名的文件执行一次真实保存——不轮询、不卡 UI、不静默覆盖。
- 按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置面板,确保编辑的是右侧「User Settings」 - 在已有 JSON 的
{}内添加一行:"save_on_focus_lost": true - 注意:前面若有其他字段,末尾必须有英文逗号;引号必须是英文双引号;
true必须小写、不能加引号 - 按
Ctrl + S保存,立即生效,无需重启
为什么 save_on_focus_lost 没反应?常见失效原因
不是配置坏了,而是被硬性条件拦住了:
- 文件是新建未命名的(
untitled)——Sublime 不知道存哪,直接跳过 - 文件路径只读(如
/etc/hosts、Docker volume 挂载点、WSL 权限受限目录)——系统拒绝写入,Sublime 静默失败 - 你只是在 Sublime 内部切换 tab、点击侧边栏、呼出命令面板(
Ctrl + Shift + P)——这些不算窗口失焦,不会触发 - 配置写错位置(比如写在左侧 Default Settings)或格式错误(少引号、多逗号、中文冒号)——JSON 解析失败,整份用户设置加载失败
想实现“停笔几秒就保存”?必须用 AutoSave 插件
save_on_focus_lost 是失焦触发,不是空闲触发。真要空闲保存,得换方案,且两者互斥:
- 先在 User Settings 中删掉或注释掉
"save_on_focus_lost": true - 按
Ctrl + Shift + P→ 输入Package Control: Install Package→ 安装AutoSave(作者 randy3k,v4.1+) - 配置入口必须是
Preferences → Package Settings → AutoSave → Settings – User,不是通用 User Settings - 只认两个字段:
"auto_save_on_idle": true和"auto_save_delay_milliseconds": 3000(单位毫秒,别设低于 1500,否则边打字边保存会卡 UI)
最容易被忽略的细节
很多人反复试了没效果,问题不在功能本身,而在配置层级和字段名的精确性:auto_save_delay_in_ms、auto_save_delay_ms、auto_save_delay_in_seconds 全部无效;auto_save_on_focus_lost 是插件提供的另一个开关,和原生的同名配置无关,混用会出问题;一个错位逗号就能让整个 User Settings 失效——连最基础的 save_on_focus_lost 都不工作。











