VSCode的Local History功能可恢复未提交的误删内容。需确认自动保存启用、监听未被排除;右键文件选Open Timeline恢复;命令面板输入File: Open Local History对比修复;或手动解码LocalHistory目录下Base64快照。

如果您在VSCode中编辑代码时误删或覆盖了重要内容,但项目尚未初始化Git仓库或未提交到暂存区,则可以依赖VSCode内置的Local History功能快速恢复历史版本。以下是启用并使用该功能的具体操作步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、确认Local History功能已启用
VSCode的Local History默认开启,但需确保相关设置未被禁用,且工作区文件系统支持文件变更监听。该功能通过监听文件修改时间戳与内容快照,在本地磁盘生成隐藏的历史记录副本,不依赖外部版本控制系统。
1、打开VSCode,按下 Cmd + ,(Windows/Linux为 Ctrl + ,)进入设置界面。
2、在搜索框中输入 local history。
3、确认 Files: Auto Save 设置为 afterDelay 或 onFocusChange,以确保修改能被及时捕获。
4、检查 Files: Watcher Exclude 列表中未将当前项目目录排除,否则文件变更无法触发快照保存。
二、通过资源管理器查看文件历史版本
Local History将每个文件的变更记录以时间线形式组织,用户可直接在侧边栏浏览并对比任意两个快照。该方式无需命令行操作,适合快速定位误操作发生前的状态。
1、在左侧资源管理器中,右键点击目标文件。
2、在弹出菜单中选择 Open Timeline。
3、右侧面板将显示该文件的时间轴,每条记录包含时间戳和简要描述(如“Saved”、“Auto-saved”)。
4、点击某条历史记录,编辑器将打开只读的快照内容;点击右上角的 Restore 按钮即可覆盖当前文件。
三、通过命令面板调用历史恢复
当需要批量恢复多个文件,或当前文件未在资源管理器中显示时,可通过全局命令快速访问Local History。该方法绕过图形界面限制,响应更直接。
1、按下 Cmd + Shift + P(Windows/Linux为 Ctrl + Shift + P)打开命令面板。
2、输入并选择 File: Open Local History。
3、在弹出的文件列表中,使用方向键高亮目标文件,按回车确认。
4、历史版本将以差异视图打开,左侧为当前文件,右侧为选中快照;点击右上角 Accept Merge Result 应用右侧内容。
四、手动定位并提取Local History存储路径
VSCode将Local History数据保存在用户数据目录下的隐藏子目录中,结构清晰且可被第三方工具读取。此方式适用于编辑器崩溃后仍需抢救数据,或需导出特定快照进行离线分析。
1、关闭VSCode,防止写入冲突。
2、在终端中执行:ls -a ~/Library/Application\ Support/Code/LocalHistory/(macOS)或对应路径(Windows为 %APPDATA%\Code\LocalHistory\,Linux为 ~/.config/Code/LocalHistory/)。
3、进入对应工作区哈希子目录,查找以 .history 结尾的JSON文件,其内容为Base64编码的文件快照。
4、使用在线Base64解码工具或命令行 base64 -d 解析文件内容,保存为原始源码格式。










