应先通过任务管理器(windows)或活动监视器(macos)检查code.exe/electron进程数:仅1个进程说明是标签页过多,属标签管理问题;多个进程且各窗口仅开1–2个文件,才需执行window: merge all windows。

怎么判断该不该合并窗口
先看任务管理器(Windows)或活动监视器(macOS),搜 Code.exe 或 Electron。如果只看到 1 个进程,那只是标签页太多——这不是窗口问题,是标签管理问题,不该用“合并窗口”思路处理;如果有多个进程,且每个窗口只开了 1–2 个文件,这才是真需要合并的场景。
Window: Merge All Windows 命令为什么有时不生效
这个命令只对“同用户会话、同 VSCode 安装启动”的窗口有效,容易卡在三个地方:
- 从 Dock / 开始菜单反复点击图标新开的窗口,常被系统视为新会话 → 改用命令行启动:
code --new-window /path/to/project - 双击文件(如
package.json)直接打开的窗口,多为“临时工作区”,Window: Merge All Windows对其无效 - 某些插件(如旧版 GitLens)会劫持窗口创建逻辑 → 临时禁用插件后重试,再逐个排查
- 命令必须在你希望保留的“主窗口”中执行,且焦点要落在它上面
拖拽合并失败?关键不是手速,是落点和设置
拖拽是最常用也最容易失败的方式,失败往往不是操作不对,而是:
-
window.dragAndDropTabs被设为false(默认是true),需在设置里搜该配置项并启用 - 拖拽目标必须是“编辑器区域边缘”,不是标题栏、侧边栏或标签栏空白处:只有拖到左右/上下边缘出现蓝色高亮框时松手才有效
- macOS 用户注意:Dock 右键选 “New Window” 启动的窗口,比 Cmd+点击 Dock 图标启动的更易被合并
合并后布局留不住?靠 .code-workspace 固化
VSCode 不会自动记住分组数量、位置或比例。哪怕你刚做完垂直拆分+水平拆分+三列布局,重启就清零。唯一可靠方式是保存为工作区文件:
- 菜单栏 →
File → Save Workspace As…,保存为my-project.code-workspace - 关闭所有窗口,再双击该文件,或运行
code my-project.code-workspace - 所有编辑器组、打开的文件、折叠状态、甚至终端分屏都会 100% 还原
别用 File → Add Folder to Workspace…,那是往当前窗口加目录,不是固化布局。











