VSCode的Window: Merge All Windows命令仅对同用户会话、同一安装启动的多个进程窗口有效;从Dock/开始菜单重复点击或双击文件打开的临时窗口无效,且必须在目标主窗口中执行。

Window: Merge All Windows 命令只对特定窗口有效
这个命令不是万能胶,它只作用于“同用户会话下、由同一 VSCode 安装启动”的多个窗口。如果你从 Dock / 开始菜单反复点击图标打开的窗口,系统可能视其为独立会话,Window: Merge All Windows 就不会把它们收进来。
常见失效场景包括:
- 双击某个
package.json文件直接打开的窗口——这类是“临时工作区”启动,命令对其无效 - 某些插件(如旧版 GitLens 或 Project Manager)劫持了窗口创建逻辑
- 焦点没落在你希望“作为主窗口接收其他内容”的那个窗口上
执行前必须确认:是不是真有多个进程窗口?
很多人误以为标签页多 = 窗口爆炸,其实真正要合并的是多个系统级进程。先看任务管理器:
- Windows:按
Ctrl+Shift+Esc打开任务管理器 → “进程”页签 → 查找多个Code.exe - macOS:打开“活动监视器” → 搜索
Electron→ 实例数是否 >1
如果只有 1 个进程,但标签栏塞满 → 这是标签管理问题,不该用合并窗口思路;如果有多个进程且每个只开了 1–2 个文件 → 才是 Window: Merge All Windows 的适用场景。
怎么正确触发合并?三步不能错
别在命令面板里搜 “Merge Windows” 或 “Join Windows”——根本不存在。正确路径是:
- 确保目标窗口(你想保留的那个)获得焦点(点一下它的任意编辑区)
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P)打开命令面板 - 输入并选择
Window: Merge All Windows,回车
成功时,其他符合条件的窗口会自动关闭,其中所有打开的文件会以新标签页或新编辑器组形式出现在当前窗口中。失败时无提示,也不会报错——这是最常被忽略的“静默失败”点。
合并后布局容易散乱,得立刻固化
合并只是把文件搬进来,不保证分组合理或位置有序。刚合并完的窗口往往标签堆叠、编辑器组错位。此时应立即:
- 手动拖拽标签到合适编辑器组,或用右键 → “Move to Other Group” 调整归属
- 用
Ctrl+\(macOSCmd+\)垂直拆分,Ctrl+Shift+\水平拆分,组织视图 - 执行
File → Save Workspace As...,保存为.code-workspace文件 —— 否则下次重启,一切布局丢失
真正容易被忽略的不是怎么合并,而是合并后不固化布局。很多人花十分钟合并完,关机再开又回到原样,反复操作却没意识到 .code-workspace 是唯一能持久保存分组+文件+面板状态的机制。


















