ctrl+shift+t仅恢复当前窗口内最近关闭的标签页,依赖内存中的关闭栈,重启或关闭窗口后即失效;预览模式关闭不入栈,恢复顺序为“后关先开”,默认上限10个。

Ctrl+Shift+T 只恢复当前窗口的关闭标签,不跨重启
这个快捷键不是“全局历史回溯”,而是读取当前 VSCode 实例内存里的关闭栈——关掉整个窗口或强制杀进程后,栈就清空了。它只对同一窗口内连续关闭的标签页有效,且顺序是「后关先开」。
常见误操作:Ctrl+Shift+T 按了没反应,大概率是因为你刚重启过编辑器,或者之前执行过 File > Close Window;也可能是关的是预览模式(workbench.editor.enablePreview 开启时双击文件触发)下的临时标签,这类关闭不进栈。
- 恢复上限默认 10 个,可通过设置
workbench.editor.reopenClosedEditorsLimit调整 - 它不区分文件类型,也不管 Git 状态,纯靠编辑器内部标签生命周期管理
- 如果关的是未保存的
Untitled-1,只要没被自动清理(比如files.hotExit关闭),它也能恢复
Reopen Closed Editor 走持久化记录,但依赖会话缓存
Ctrl+P → 输入 >Reopen Closed Editor 调用的是另一套机制:VSCode 把最近打开过的文件路径写入本地会话缓存(%APPDATA%\Code\storage.json 或 macOS 的 ~/Library/Application Support/Code/storage.json),比标签栈更持久。
但它不是无限存档——只保留本 VSCode 实例运行期间访问过的文件路径,且重启后若 window.restoreWindows 设为 none,这部分缓存可能被跳过初始化,导致命令列表为空。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
- 该命令能恢复的文件不一定在当前工作区,甚至可能来自上次打开的其他文件夹
- 如果文件已被删除、重命名或路径变更,点击后会提示“文件不存在”,无法自动 fallback 到备份
- 远程开发(SSH/WSL)下,历史记录存在服务端
~/.vscode-server/data/User/History,和本地不同步
window.restoreWindows 决定启动时是否还原,和 hotExit 无关
很多人以为关掉 files.hotExit 就能阻止启动时弹出旧文件,其实完全搞反了:files.hotExit 控制「关窗口时要不要提示保存」,而真正决定「开窗口时恢复什么」的是 window.restoreWindows。
设为 all 会连空窗口、欢迎页、Untitled-1 都还原;设为 folders 看似克制,但依然会把上次文件夹里所有打开的标签(含未保存的)一股脑拉回来;只有设为 none 才彻底跳过会话恢复流程。
- 即使设为
none,Reopen Closed Editor仍可用——因为它是独立于窗口恢复的另一层缓存 - 设置生效需重启 VSCode,且必须确保
storage.json没损坏;顽固复现时建议手动删掉它再重开 -
workbench.startupEditor若设为welcomePage或readme,可能覆盖none效果,建议设为none保底
未保存文件丢失后,别只盯着快捷键找
真正难恢复的,是那些既没进 Git、又没触发自动保存、还被强制杀进程的编辑内容——此时 Ctrl+Shift+T 和 Reopen Closed Editor 都失效,得去系统级备份目录翻。
Windows 路径:%APPDATA%\Code\Backups\;macOS:~/Library/Application Support/Code/Backups/;Linux:~/.config/Code/Backups/。里面是哈希命名的文件夹,每个含若干 .backup 文件,需用文本编辑器打开确认内容。
- 这些备份不按项目隔离,全混在一起,得靠文件大小、修改时间、片段关键词筛
- 备份有效期受
files.autoSave影响:设为off时,只有你主动编辑过才会生成;设为afterDelay才会高频落盘 - 远程开发中,备份存在服务端
~/.vscode-server/data/User/Backups,本地根本看不到










