Sublime 启动自动恢复需确保 remember_open_files 为 true、hot_exit 为 false,并通过正常退出保存会话文件 Auto Save Session.sublime_session;还需检查路径权限、禁用插件干扰及登出同步账号。

如何让 Sublime 启动时自动恢复上次打开的窗口和文件
Sublime 默认就能做到,但前提是两个关键配置没被意外关掉:remember_open_files 和 hot_exit。很多人改过设置后发现“怎么不恢复了”,其实是 hot_exit 被设成了 true,导致退出时没真正写入会话,下次启动就只能加载一个空窗口。
-
remember_open_files必须为true(默认就是),它控制是否在重启后重新打开所有标签页 -
hot_exit建议设为false(默认也是),设成true会让 Sublime 表面退出、实则后台驻留;一旦异常崩溃或被强制杀掉,Auto Save Session.sublime_session就不会更新,恢复就失效 - 必须通过
File → Exit(Windows/Linux)或关闭全部窗口(macOS)来退出,不能只关窗口留托盘图标 - 检查会话文件是否存在:
Local/Auto Save Session.sublime_session是唯一生效的会话快照,路径见下一条
确认会话文件路径与权限是否正常
Sublime 不靠注册表或全局服务存状态,全靠本地一个 JSON 文件。如果这个文件被删、被锁、或路径错位,恢复功能就形同虚设。不同系统路径差异大,尤其版本号和空格容易出错。
- Windows 正确路径是:
%APPDATA%\Sublime Text 4\Local\Auto Save Session.sublime_session(注意:是Sublime Text 4,带空格;不是SublimeText4或Sublime Text 4\Packages\User) - macOS 是:
~/Library/Application Support/Sublime Text/Local/Auto Save Session.sublime_session(注意:Sublime Text 4 安装后仍叫Sublime Text,不带版本号) - Linux 是:
~/.config/sublime-text-4/Local/Auto Save Session.sublime_session(注意:是短横线-,不是下划线_) - 如果该文件存在但内容为空或只有
{},说明上次退出没成功写入,大概率是hot_exit: true+ 异常退出导致的
插件或同步账号干扰恢复行为怎么办
很多用户删了配置、重装了软件,结果启动还是恢复旧项目——八成是插件或账号在背后接管了逻辑。Sublime 的恢复机制非常底层,但上层插件可以轻易覆盖它。
- 插件如
Project Manager或Session Manager会禁用原生会话保存,改用自己的.sublime-project或独立 session 文件,此时修改remember_open_files没用 - 如果你用过
subl --sync-login或菜单里点过Preferences → Sync Settings → Login,那即使删光本地配置,启动时也会从云端拉回Packages/User/Preferences.sublime-settings和项目列表 - 务必先执行
subl --sync-logout(终端运行),或在菜单中登出,再清理本地数据 - 临时验证是否受插件影响:启动时加
--safe-mode参数(如命令行输入subl --safe-mode),此时不加载任何插件,看能否恢复窗口
崩溃后未保存内容还能找回吗
能,但依赖两个前提:没清空 Local/ 目录,且没反复重启覆盖缓存。Sublime 在崩溃瞬间会把所有打开内容(包括未保存的 Untitled 标签)塞进 Session.sublime_session 的 buffers 字段里,或单独写入 Recovery/ 目录。
- 第一步永远是:立刻重启 Sublime,看有没有弹窗提示“恢复上一个会话”;没有的话,检查是否有多个
Untitled标签,有就马上File → Save As - 第二步手动查:
Local/Session.sublime_session用 VS Code 打开,搜索你记得的变量名或注释,找到对应"contents": "..."字段,复制双引号内内容(注意\n是换行) - 第三步查
Local/Recovery/目录,找recovery-开头的无扩展名或.tmp文件,直接用 Sublime 打开,内容通常是纯文本,无需解析 - 别等两天再操作——每次正常重启都可能覆盖这些缓存文件,越早动手,越大概率捞回代码

















