vscode 默认能可靠恢复上次打开的文件和窗口,关键在于开启“window: Restore windows”设为all、避免使用“New Window”、注意工作区干扰,并在异常时清理Workspaces和Backups缓存目录。
vscode 默认就会记住上次打开的文件和窗口,但有时看似“没记住”,其实是设置被关闭、工作区干扰,或启动方式不对导致的。关键在于确认几个核心设置和使用习惯。
检查“窗口恢复”设置是否开启
VSCode 通过 Window: Restore Windows 设置控制启动时的行为。默认是 all(全部恢复),但可能被误设为 none 或 folders。
- 打开设置(Ctrl+, 或 Cmd+,)
- 搜索 restore windows
- 将 Window › Restore Windows 设为 all(推荐)
避免用“新建窗口”覆盖会话
如果每次都是点击桌面图标或从开始菜单启动,且系统设置了“总是新建窗口”,就可能绕过恢复逻辑。
- 关闭所有 VSCode 窗口后,再双击文件或文件夹打开 —— 这样会自动复原上次会话
- 不要频繁使用 File → New Window,它会创建一个干净的新窗口,不继承上一个会话的状态
- 如需多窗口协作,建议用 File → Add Folder to Workspace 或多根工作区,而非多个独立窗口
留意工作区(.code-workspace)的影响
一旦你打开了一个 .code-workspace 文件,VSCode 就会以该工作区为优先级启动,而不是恢复上次的普通文件夹/文件。
- 如果你希望恢复“自由态”的编辑记录(非工作区),请确保退出前没有激活任何 .code-workspace
- 想固定某组项目?可保存为工作区,并勾选 Window › Restore Windows 中的 all,它也会记住工作区内的打开标签页
临时失效?试试清除缓存(少用)
极少数情况(如崩溃后异常退出),窗口状态文件损坏,导致恢复失败。
- 关闭 VSCode
- 删除以下目录中的 workspaces.json 和 backups 相关缓存(路径因系统而异):
Windows:%appData%CodeWorkspaces和%AppData%CodeBackups
macOS:~/Library/Application Support/Code/Workspaces和~/Library/Application Support/Code/Backups
linux:~/.config/Code/Workspaces和~/.config/Code/Backups - 重启 VSCode,它会重建状态记录
基本上就这些。只要设置正确、启动方式合理,VSCode 的会话恢复非常可靠 —— 它不是靠“记忆”,而是靠本地状态文件实时保存,所以别担心关机丢失。