<p>Sublime 崩溃后未保存代码大概率可找回,需满足 hot_exit 开启、未反复重启、及时操作;通过读取 Session.sublime_session(含 buffers 内容)或 Local/Recovery/ 下 recovery- 文件恢复。</p>

Sublime 崩溃或强制退出后,未保存的代码大概率能找回——但前提是没关掉 hot_exit、没反复重启覆盖缓存,且你动作够快。恢复不是玄学,是读取两个固定位置的缓存文件:一个是 JSON 格式的会话快照,另一个是纯文本临时副本。
重启后没弹窗?先看标签页里有没有 Untitled
Sublime 默认开启 hot_exit 和 remember_open_files,异常退出后重启通常不会弹窗,而是静默加载未保存内容到新标签页,显示为 Untitled。这时别点关闭,立刻执行 File → Save As 保存。
- 如果只恢复了部分文件,反复按
Ctrl+Shift+T(Windows/Linux)或Cmd+Shift+T(macOS)可尝试还原最近关闭的标签页 - 若所有标签页都是已保存文件,说明会话未被加载,需转向手动恢复
- 注意:某些插件(如
Project Manager)会接管会话逻辑,此时原生恢复机制失效
手动打开 Session.sublime_session 提取 contents
这个文件是 JSON 格式,存着所有打开文件的路径、光标位置,最关键的是未保存文件的完整文本——它就在 buffers 数组的 contents 字段里。
- 操作前务必先关掉 Sublime,避免写入覆盖
- Windows 路径:
C:\Users\你的用户名\AppData\Roaming\Sublime Text 3\Local\Session.sublime_session - macOS 路径:
~/Library/Application Support/Sublime Text 3/Local/Session.sublime_session - Linux 路径:
~/.config/sublime-text-3/Local/Session.sublime_session - 用 VS Code 或记事本打开,搜索你记得的函数名、变量名或注释关键词;找到后复制
"contents": ""双引号内的内容(注意\n是换行,\"是转义引号,粘贴后需手动还原格式)
直接翻 Recovery 目录里的 recovery- 文件
某些崩溃场景下,Sublime 会把未保存内容单独写进 Recovery 目录,比 Session.sublime_session 更“干净”,无需解析 JSON,直接是纯文本。
- 路径与
Session.sublime_session同级,进Local/Recovery/子目录 - 查找以
recovery-开头、无扩展名或带.tmp的文件 - 用 Sublime 自身或任意文本编辑器直接打开,内容通常是可读源码
- 该目录只在异常退出后生成,正常退出不会写入;而且它不持久,下次崩溃可能被覆盖,所以看到就马上复制
真正容易被忽略的不是技术步骤,而是时间窗口和配置冲突:hot_exit 被设为 false、反复重启覆盖旧 session、或者插件悄悄接管了恢复逻辑——这些都会让缓存存在却无法加载。越早关掉 Sublime 并打开对应路径,成功率越高。


















