VSCode无合并窗口快捷键,需先确认多进程(任务管理器查Code.exe/Electron数量),再在主窗口执行Window: Merge All Windows命令或拖拽文件至编辑器边缘蓝色框;更推荐用.code-workspace固化多项目布局。

VSCode 没有“合并两个编辑器窗口”的快捷键或按钮,所谓“合并”,实际是把一个独立进程窗口里的文件,迁移到另一个窗口的编辑器分组中。关键在识别是否真有多进程、用对命令、避开拖拽陷阱。
怎么判断该不该合并:看进程,不是看标签
很多人误以为标签太多=窗口爆炸,其实真正需要“合并”的,是任务管理器里多个 Code.exe(Windows)或 Electron(macOS)进程。
- Windows:按
Ctrl+Shift+Esc打开任务管理器 → “进程”页签 → 查Code.exe数量 - macOS:打开“活动监视器” → 搜索
Electron→ 看实例数是否 >1 - 如果只有 1 个进程,但标签栏挤满 → 不是窗口问题,该用分组+预览关闭+工作区固化
- 如果有多个进程,且其中某个窗口只开了 1–2 个文件 → 这才是
Window: Merge All Windows的适用场景
Window: Merge All Windows 命令为什么有时不生效
这个命令只对“同用户会话、同 VSCode 安装启动的窗口”有效,容易踩三个坑:
- 从 Dock 或开始菜单反复点击图标新开的窗口,可能被系统视为新会话 → 改用命令行启动:
code --new-window /path/to/project - 双击文件(如
package.json)直接打开的窗口,常以“临时工作区”方式启动,该命令对其无效 - 某些插件(如旧版 GitLens)会劫持窗口创建逻辑 → 临时禁用插件后重试,再逐个排查
- 命令必须在你希望其他窗口合入的那个“主窗口”中执行,且焦点要落在它上面
拖拽失败?检查蓝色框、设置和目标区域
拖拽是最常用也最容易失败的方式,失败往往不是操作问题,而是配置或区域误判:
-
window.dragAndDropTabs必须为true(默认开启),若被插件或手动改过,需在设置中搜索并启用 - 拖拽目标必须是“编辑器区域边缘”,不是标题栏、侧边栏或标签栏空白处 → 正确位置是编辑器区左右/上下边缘,出现蓝色高亮框才松手
- macOS 用户注意:从 Dock 右键选 “New Window” 启动的窗口,与
Cmd+点击Dock 图标启动的行为不一致,后者更易被合并
替代方案:用 .code-workspace 固化多项目布局
如果多个窗口分别打开了不同项目,比反复合并更可持续的做法是创建工作区:
- 在任一窗口中执行
File → Save Workspace As...,保存为.code-workspace文件 - 手动编辑该文件,在
folders数组中添加所有项目路径,例如:
{
"folders": [
{ "path": "." },
{ "path": "../backend" },
{ "path": "../shared-lib" }
]
}
关闭所有窗口,再双击该 .code-workspace 文件——所有项目将统一加载进单个窗口,且分组、布局、打开的文件均可固化。这比每次手动合并更可靠,也避免了进程混乱带来的状态丢失风险。


















