windows terminal 可通过启用 restorelastsession 设置实现自动恢复上次关闭时的多标签页、分屏布局及窗口位置;需在设置界面开启“恢复上次会话”或在 settings.json 顶层添加 "restorelastsession": true。
windows terminal 默认不会自动恢复上次关闭时的多标签页状态,但通过启用“会话恢复”功能,就能在重启后还原所有标签页、分屏布局和窗口位置。
开启自动恢复多标签页的关键是启用 restoreLastSession
这个设置让 Windows Terminal 在启动时读取 state.json 文件(位于 %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\),从中加载上一次退出时的完整工作区,包括:
- 所有打开的标签页及其对应配置文件(PowerShell、WSL、CMD 等)
- 每个标签页内的分屏(pane)结构
- 标签顺序、窗口大小与屏幕位置
- 甚至已关闭的对话框状态(如首次提示)
两种可靠启用方式
在设置界面中开启(推荐,零风险)
启动 Windows Terminal → 按Ctrl + ,打开设置 → 左侧选“启动” → 找到“恢复上次会话” → 设为“总是”-
手动编辑
settings.json(适合批量部署或脚本管理)
按Ctrl + Shift + ,打开 JSON 配置文件 → 在顶层对象中添加或修改:"restoreLastSession": true
注意:该字段需与其他配置项同级(如
"defaultProfile"、"launchMode"),不要放在"profiles"或"schemes"内部
补充说明
-
restoreLastSession和launchMode: "default"可共存,但前者优先级更高;即使设置了默认配置文件,只要此选项为true,就会优先恢复会话 - 如果你手动关闭了某个标签页,它不会被记入下次恢复内容;只有正常退出(关闭整个窗口)才会触发保存
- 多实例运行时(比如同时开两个 Windows Terminal 窗口),每个窗口独立保存自己的状态,互不干扰
这样配置后,无论你开了 3 个 PowerShell 标签、2 个 WSL 分屏,还是混搭 Azure CLI 和 Git Bash,下次打开时都会原样回来。











