Local History 历史为空是因为未满足触发条件:文件必须已保存、路径一致、权限正常;手动执行“Save Current File”并查看控制台日志可验证是否生效。

Local History 插件装了但右键没反应、历史列表为空,大概率不是插件坏了,而是它根本没触发快照——它只认“已保存的文件”和“原路径”,不存未保存内容,也不跨目录回溯。
Local History 为什么 Show History 是空的
空列表不是 bug,是条件没满足。插件不会为以下情况生成任何快照:
- 文件仍是
Untitled,没按过Ctrl+S(默认配置下backup_untitled为false) - 改完后只用
Ctrl+Z撤回,但没再Ctrl+S—— 它只在保存时刻写入 - 当前文件路径和插件记录的原始路径不一致:比如删掉后新建同名文件但位置不同,或用拖拽方式打开而非从项目树中打开
- Sublime 是以管理员身份运行,而
.sublime-history/落在用户目录下,权限不足导致写入失败(Windows 尤其常见)
验证是否生效:改一行 → Ctrl+S → 再改一行 → Ctrl+S → 右键 → Local History: Show History,这时应至少看到两条带时间戳的记录。
怎么手动触发快照并确认它在工作
别等自动 120 秒,关键修改前主动留档更可靠。快照是否真生成,得看控制台日志:
- 按
Ctrl+Shift+P→ 输入Local History: Save Current File手动触发 - 按
Ctrl+`打开控制台,观察是否有类似LocalHistory: saved snapshot for main.py的输出 - 没日志 = 没触发,优先检查
Preferences → Package Settings → Local History → Settings中"enabled": true是否开启 - 快照默认存在项目根目录下的
.sublime-history/文件夹里,命名格式为main.py@2026-05-27-12-30-45
恢复已删除但曾保存过的文件
Local History 不依赖当前文件是否存在,只认完整路径(含大小写、扩展名、斜杠方向)。恢复流程必须严格按顺序来:
- 在**原路径**新建一个同名空文件(例如原路径是
/project/src/utils.js,就得新建到这个精确路径) -
Ctrl+S保存它,让插件“认领”该路径 - 右键 →
Local History: Show History,列表就会出现该路径的历史版本 - 点击某条快照,会在新标签页以只读方式打开;想覆盖当前文件,右键选
Replace Current File
注意:Replace Current File 会直接覆盖当前未保存内容,没有二次确认。
BackupOnSave 和 Simple History 别混用
二者都靠保存动作触发,但机制和用途完全不同,共存会导致菜单冲突或重复备份:
-
BackupOnSave:每次Ctrl+S都生成独立副本,如main.py.2026-05-27-12-30-45,存在你指定目录,可被脚本扫描、Git 管理、手动清理 -
Simple History:把版本存进 Sublime 的本地数据库(Local/目录下),不产生额外文件,右键调用轻量,但外部工具无法直接读取 - 如果你刚重构完函数想快速比对两版差异,
BackupOnSave更可控;如果只是偶尔翻翻昨天删了哪段,Simple History更省心
真正容易被忽略的是:Local History 快照只响应 Sublime 内部编辑动作,对命令行修改(sed -i)、Git 操作(git checkout)、甚至其他编辑器的改动完全无感——它不是文件系统监听器,只是编辑器事件驱动的快照记录器。


















