local history插件没反应,先查workbench.localhistory.enabled是否为true;常见原因包括开关关闭、项目根目录无写入权限、文件未保存、未重载窗口及右键位置错误(须在资源管理器中文件上操作)。

Local History插件没反应,先查 workbench.localHistory.enabled
装完插件却点不出历史面板,大概率是开关被关了。VSCode 1.84+ 版本起,workbench.localHistory.enabled 是启用 Local History 的硬性前提,不是 files.localHistory.enabled(那是旧版或混淆项)。打开设置搜这个关键词,确认它是 true。
常见连带问题:
-
.history/文件夹没生成 → 项目根目录无写入权限(尤其 Docker 容器、macOS 网络盘路径) - 右键菜单没选项 → 文件没保存过(标签页显示
Untitled-1或路径为空),或工作区不是以文件夹方式打开(单文件模式下.history/会建在用户主目录,极难定位) - 插件安装后仍不生效 → 必须执行
Developer: Reload Window,单纯重启 VSCode 不触发插件初始化
右键“Show History”点不出来?试试命令面板手动唤出
资源管理器中右键目标文件没菜单,不是插件坏了,而是触发条件没满足。绕过右键最稳的方式是:
- 确保编辑器焦点在该文件上(不是空标签页或未保存状态)
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac) - 输入
Local History: Show History for Current File并回车
这个命令不依赖右键上下文,只要文件已保存、工作区正常、插件启用,就一定能拉出时间线列表。比反复检查菜单更省时间。
点开历史版本提示 “Unable to open diff” 怎么办
这个报错本质是 VSCode 找不到快照对应的原始路径,不是 diff 引擎故障。典型原因:
- 文件被重命名或移动过:插件按原路径存快照,新路径下无法关联 → 去项目根目录的
.history/里手动翻找对应子目录和时间戳文件(如.history/src%2Findex.js/20260612173000.js) -
.history/被误删或清空:插件不会重建已丢失的快照,只能从剩余条目里恢复 - 编码异常:文件含 BOM 或混用 UTF-8/GBK,导致快照读取失败 → 右下角点击编码 → 选
Reopen with Encoding → UTF-8后重试
Timeline 面板里只有 “Local History” 条目且不更新
Timeline 面板默认混合展示 Git 提交 + VSCode 自动快照,但后者有严格限制:
- 只对未暂存(unstaged)的 Git 跟踪文件生效;一旦
git add,后续编辑就不再生成本地快照 - 快照非实时:后台约每 30 秒扫一次,编辑完立刻关文件可能来不及存
- 保留策略:最多 30 天、50 条/文件,超限自动清理
- 想强制留痕?改完别急着关,等几秒;或进开发者工具控制台执行
vscode.workspace.saveAll()
真正要长期可追溯,还是得靠 Git;Local History 是断电、手滑、临时调试时的兜底方案,不是替代品。











