sublime text 崩溃后未保存代码大概率可找回:重启后检查 untitled 标签页并立即保存;或手动解析 session.sublime_session 中 buffers.contents 字段;或查看 local/recovery/ 下 recovery- 开头的纯文本文件。

Sublime Text 崩溃或强制退出后,未保存的代码大概率能找回——前提是没清空配置目录、没反复重启覆盖缓存,且你动作够快。核心恢复路径就两条:靠自动提示恢复,或手动挖 Session.sublime_session 和 Recovery 目录里的原始内容。
重启 Sublime 后没弹窗?先看标签页里有没有 Untitled
Sublime 默认开启 hot_exit 和 remember_open_files,异常退出后重启,多数情况不会弹窗,但会静默加载未保存内容到新标签页,显示为 Untitled。这时别点关闭,立刻执行 File → Save As 保存。如果只恢复了部分文件,可反复按 Ctrl+Shift+T(Windows/Linux)或 Cmd+Shift+T(macOS)尝试还原最近关闭的标签页。
手动打开 Session.sublime_session 提取内容
这个文件是 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 目录里的临时文件
某些崩溃场景下,Sublime 会把未保存内容单独写进 Recovery 目录,比 Session.sublime_session 更“干净”,无需解析 JSON,直接是纯文本。
- 路径与
Session.sublime_session同级,进Local/Recovery/子目录 - 查找以
recovery-开头、无扩展名或带.tmp的文件 - 用 Sublime 自身或任意文本编辑器直接打开,内容通常是可读源码
注意:该目录只在异常退出后生成,正常退出不会写入;而且它不持久,下次崩溃可能被覆盖,所以看到就马上复制。
为什么有时找不回?三个最容易被忽略的点
恢复失败往往不是因为文件丢了,而是缓存被覆盖或误操作:
-
hot_exit被设为false,或用户设置里显式关闭了它 - 反复重启 Sublime,新会话不断覆盖旧的
Session.sublime_session和Recovery文件 - 手动清过
AppData\Roaming\Sublime Text 3\或~/.config/sublime-text-3/整个目录
真正关键的不是“怎么救”,而是“别让它被覆盖”——发现丢失后第一件事是停止使用 Sublime,然后立刻去对应路径翻文件。JSON 里藏的内容比你想象中更全,连刚敲到一半的 if 语句都可能还在。











