LocalHistory装完需验证控制台日志:Ctrl+`打开控制台,保存已命名文件后出现“LocalHistory: saved snapshot”才算启用;常见失效原因包括安装旧版、设置未启用、Windows权限不足、路径匹配错误及未保存文件不备份。

LocalHistory装完没反应?先看控制台有没有日志
装完插件不等于能用,很多人卡在“右键没菜单”或“Show History 是空的”。核心判断标准只有一条:按 Ctrl+` 打开控制台,改一行再 Ctrl+S 保存一个已命名文件(如 main.py),必须看到类似 LocalHistory: saved snapshot for main.py 的输出才算真正启用。
常见失效原因:
- 用 Package Control 安装的是旧版(作者不是
randy3k或kemayo),ST4 下因 Python API 变更会静默失败 -
Preferences → Package Settings → Local History → Settings中没显式写入"enabled": true和"auto_save": true(依赖默认值不可靠) - Windows 下 Sublime 以管理员身份运行,但
.sublime-history/被尝试写入用户目录(如%APPDATA%\Sublime Text\Packages\User\Local History\),权限不足导致无报错、无快照
快照存在哪?路径匹配错了就找不到历史
快照路径完全取决于你用 File → Open Folder… 打开的是哪一级目录。比如项目结构是 /myproject/src/utils/,你在 /myproject/src/utils/ 下打开 logic.py,快照就存于 /myproject/src/utils/.sublime-history/,而不是 /myproject/.sublime-history/。
关键限制:
- 只对“已保存过 + 有编辑行为”的文件生效;新建未命名标签页(
untitled)默认不备份,除非手动开启"backup_untitled": true - 快照靠
on_post_save事件驱动——只改了没按Ctrl+S,或用终端直接echo "x" > file.py,插件完全感知不到 - 同一秒内多次保存会覆盖,不会叠加;默认每 120 秒自动抓取一次,但仅限当前处于编辑状态且被修改过的文件
怎么恢复误删或改错的内容?Restore 不是双击覆盖
右键编辑区或标签页 → Local History: Show History,列表按时间倒序排列。点击某条目会在新标签页以只读方式打开该版本,可复制比对。
想恢复?注意操作逻辑:
- 不能双击直接覆盖——得在只读视图右上角点
Restore,或右键选Replace Current File - 如果文件已被删除,先在原路径新建同名文件并
Ctrl+S保存(确保路径一致,包括大小写和扩展名),再调出历史菜单;插件靠路径匹配,不是靠文件名 -
Restore操作不可逆,覆盖前建议先复制当前内容到剪贴板做保底
LocalHistory 和 AutoSave / save_on_focus_lost 别混用
三者逻辑完全不同,叠加使用反而容易出问题:
-
save_on_focus_lost是原生机制,切出窗口即落盘,覆盖原文件,不留痕 -
AutoSave插件的backup_on_save是在每次保存时生成.bak文件,只留最后一份,不是版本管理 -
LocalHistory响应保存事件,在项目根目录下生成带时间戳的快照(如main.py.2026-05-25_18-12-04),支持多版本回溯 - 同时开
save_on_focus_lost和backup_on_save可能导致同一文件 1 秒内被写盘两次,大日志或被 Webpack 实时读取的文件容易卡死
最稳妥的组合是:save_on_focus_lost 防断电丢失 + LocalHistory 存快照。别指望它替代 Git,重要变更仍需 git commit。


















