vscode本地历史是自动保存文件修改快照的隐形保险,无需配置,支持误删恢复、时间线查看与版本对比,独立于git且默认保留30天或512MB。

VSCode 的本地历史(Local history)功能,是防止代码意外丢失的一道隐形保险——它自动、静默、无需配置地为你保存文件的修改快照,哪怕你没提交 Git、没手动备份、甚至误删了整个文件,也能快速找回几秒或几分钟前的内容。
本地历史怎么来的?
VSCode 会在后台持续监听文件变更,在以下情况自动生成快照:
- 文件被保存(Ctrl+S / Cmd+S)
- 编辑器失去焦点(比如切到浏览器或终端)
- 每隔一定时间(默认约 2 分钟)自动记录一次
- 文件被重命名或移动时也会保留历史
这些快照存在你电脑本地(windows 在 C:Users{user}appDataRoamingCodeLocal Storage,macOS/linux 在 ~/.config/Code/Local Storage/),不依赖 Git 或远程服务,也不上传任何内容。
怎么查看和恢复?
右键点击编辑器标签页或资源管理器中的文件 → 选择 “Open Timeline”(打开时间线),就能看到该文件按时间倒序排列的历史版本。
- 每个条目显示修改时间、变更行数,点击可预览差异(类似 Git Diff)
- 右键某一个历史版本 → 选 “Revert to this Version” 即可一键还原
- 想对比当前和某一历史版?右键 → “Compare with Current”
即使文件已被删除,只要还没清空回收站/废纸篓,仍可在资源管理器中右键已消失的路径位置(需先刷新),有时还能唤出时间线——VSCode 会尝试根据路径记忆恢复历史记录。
它和 Git 历史有什么区别?
本地历史不是 Git 替代品,而是补充:
- Git 记录你主动
git commit的稳定节点,适合协作与长期追踪 - 本地历史 记录你所有“毛坯级”操作,比如刚写半屏就 Ctrl+S、临时注释掉一段、甚至手抖删了整段逻辑——这些往往根本没进 Git
- Git 提交前要写 message、选文件;本地历史全自动、无感、粒度更细
两者共存毫无冲突:本地历史不干涉 Git 操作,Git 也不会覆盖或清除本地历史快照。
能关掉或调大保留时长吗?
可以。VSCode 默认最多保留 30 天的历史(且总大小不超过 512MB),如需调整:
- 打开设置(Ctrl+, / Cmd+,)→ 搜索 “local history”
- 修改 “Files: auto Save Delay” 可间接影响快照频率(但不推荐设太长)
- 重点改这两个设置:
- “Files: Local History Max File Size”(默认 512MB,可调大)
- “Files: Local History Max Entries”(默认 50 条/文件,可增加)
注意:增大保留量会占用更多磁盘空间,但对现代机器影响极小;日常建议保持默认,够用且省心。
基本上就这些。本地历史不复杂,但容易忽略——它不弹窗、不提醒、不占界面,却在关键时刻默默托住你的代码。养成随手 Ctrl+S 的习惯,就等于启动了这层防护。