local history插件需满足“已保存文件、编辑中、插件启用且日志可见”三条件才写入快照;空列表主因是文件未保存、路径不匹配或权限问题,恢复需在原路径新建同名文件并保存后调取历史。

Local History 插件不是开箱即用的“历史浏览器”,它只在满足三个硬性条件时才真正写入快照:文件**已保存**(有真实路径)、**当前标签页处于编辑状态**、插件**已启用且日志可见**。装完就以为能回溯昨天删的代码?大概率列表为空。
Local History 插件为什么显示空列表
空列表 ≠ 插件失效,而是触发条件没凑齐:
- 文件仍是
Untitled状态(没按过Ctrl+S),且配置中"backup_untitled": false(默认值) - 你改完又
Ctrl+Z撤回,但没再Ctrl+S—— 它只在保存时刻存档,不捕获撤回动作 - 当前文件路径和插件记录的原始路径不一致:比如原文件在
/project/src/main.py,你删掉后新建同名文件却放在/tmp/main.py,插件完全找不到旧快照 - Windows 用户以管理员身份运行 Sublime,而
.sublime-history/落在用户目录下,权限被拦截(控制台无LocalHistory: saved snapshot for日志)
怎么确认 Local History 正在工作
别猜,直接验证:
- 打开一个已有路径的文件(如
index.js),改一行 →Ctrl+S→ 再改一行 →Ctrl+S - 按
Ctrl+`打开控制台,应看到至少两条LocalHistory: saved snapshot for index.js@2026-05-26-02-45-11日志 - 右键编辑区 →
Local History: Show History,此时应列出带时间戳的条目 - 若仍为空,检查
Preferences → Package Settings → Local History → Settings中"enabled": true和"auto_save": true是否都为真
恢复已删除但曾保存过的文件
插件不依赖当前文件是否存在,只认完整路径(含大小写、斜杠方向、扩展名):
- 在**原路径**新建一个同名空文件(例如原路径是
/api/handler.py,就必须新建到这个精确位置) -
Ctrl+S保存它,让插件“认领”该路径 - 右键 →
Local History: Show History,历史版本就会出现 - 点击某条快照,会在新标签页以只读方式打开;想覆盖当前内容,点右上角
Restore按钮(注意:会直接替换未保存的修改)
BackupOnSave 和 Simple History 别混用
二者底层机制冲突,同时启用会导致重复备份或菜单失效:
-
BackupOnSave:每次Ctrl+S都在指定目录生成独立副本(如main.py.2026-05-26-02-45-11),适合脚本扫描或手动 diff -
Simple History:把版本存在 Sublime 的本地数据库里,不产生额外文件,右键调用轻量,但外部工具无法直接读取 - 二者不兼容共存——选一个就够了;如果你刚重构完核心函数想快速比对,
BackupOnSave更可控;如果只是偶尔翻看昨天删了哪段,Simple History更省心
.sublime-history/ 目录一旦被删或换机器就彻底消失,它不是 Git,也不同步。











