Local History 插件安装后不生效,常见原因包括:workbench.localHistory.enabled被禁用、项目根目录无写入权限、文件未保存、VSCode未重载窗口,以及右键位置错误(须在资源管理器中文件上操作)。

Local History 插件不是 VSCode 内置功能,必须手动安装才能用;没装插件时点“Open Timeline”看到的只是 Git 提交记录或空面板,根本找不到你刚删掉的那几行代码。
Local History 插件安装后不生效的常见原因
装完插件却看不到 .history 文件夹、右键没“Show History”选项,通常卡在这几个环节:
-
workbench.localHistory.enabled设置被关了 —— 这是插件运行的前提,不是files.localHistory.enabled(后者是旧版/混淆项) - 项目根目录没写入权限,导致
.history/无法创建(尤其在 Docker 容器内或某些 macOS 网络盘路径下) - 文件没真正保存过:插件只在
Ctrl+S或自动保存触发后才存快照,仅编辑未保存 = 没历史 - VSCode 没重载窗口:插件安装后建议执行
Developer: Reload Window,而不是单纯重启编辑器
右键菜单里找不到 Local History 选项怎么办
这不是 bug,而是触发条件没满足。重点检查以下三点:
- 目标文件必须已保存到磁盘(路径显示在编辑器顶部标签页,且不是
Untitled-1这类临时文件) - 该文件所属的文件夹需是 VSCode 工作区根目录(即打开的是文件夹,不是单个文件;否则
.history会建在用户主目录下,路径难找) - 右键位置必须在资源管理器(Explorer)中该文件上,而不是在编辑器标签页或内容区右键 —— 后两者不会弹出插件菜单
如果仍不出现,可绕过右键:聚焦编辑器中的文件 → 按 Ctrl+Shift+P → 输入 Local History: Show History for Current File 手动唤出。
对比差异时显示“Unable to open diff”的错误
这个提示本质是 VSCode 找不到历史文件的原始路径,多发生在:
- 文件被重命名或移动过:插件按原路径存快照,新路径下无法关联 —— 此时只能去
.history/文件夹里手动翻找对应子目录和时间戳文件 -
.history/被误删或清空:插件不会重建已丢失的历史,只能从下次保存开始重新积累 - 快照文件损坏:极少数情况下因突然断电导致某个
.history/xxx/202605241023.ts文件不完整,跳过它即可
手动定位路径示例:${workspaceFolder}/.history/src/utils/helper.ts/202605241023.ts,用 VSCode 直接打开该文件就能看到原始内容。
如何避免历史版本堆积占用空间
.history/ 默认不限制大小,长期不用的项目可能攒下几百 MB。控制方式很直接:
- 在设置中搜
workbench.localHistory.maxFileEntries,设为20表示每个文件最多留 20 个快照 - 搜
workbench.localHistory.exclude,填["**/node_modules/**", "**/*.log"]排除大体积或无意义目录 - 右键文件 →
Local History: Delete History for This File可精准清理,比删整个.history/更安全
注意:workbench.localHistory.maxDays 在当前插件版本中已被弃用,别白费时间配置。











