vscode无“合并窗口”功能,本质是将多进程窗口中的文件拖入目标窗口编辑器组并分屏组织;需通过任务管理器确认多进程、执行window: merge all windows命令、拖至编辑器边缘蓝色框处,并保存为.code-workspace固化布局。

VSCode 没有“合并窗口”的功能,所谓“把两个代码窗口合并”,实际是把一个独立进程窗口里的文件,拖进另一个窗口的编辑器组中,并组织成分屏或标签页。关键不是找按钮,而是识别进程、用对命令、避开拖拽误区。
怎么判断是不是真有两个要合并的窗口
很多人误以为标签页多=窗口多,其实真正需要合并的是多个 VSCode 进程:
- Windows:按
Ctrl+Shift+Esc打开任务管理器,看“进程”页签里是否有多个Code.exe - macOS:打开活动监视器,搜索
Electron,看实例数是否 >1 - 如果只有 1 个进程,但标签栏拥挤 → 是标签管理问题,该用分组/预览关闭/
.code-workspace固化布局 - 如果有多个进程,且其中某个窗口只开了 1–2 个文件 → 这才是
Window: Merge All Windows的适用场景
执行 Window: Merge All Windows 命令失败的常见原因
这个命令只对“同用户会话、同安装路径启动的窗口”生效,不是万能胶:
- 从 Dock 或开始菜单反复点击图标新开的窗口,可能被系统视为新会话 → 改用命令行启动:
code --new-window /path/to/project - 双击文件(如
package.json)直接打开的窗口,常以临时工作区方式启动 →Window: Merge All Windows对其无效 - 某些插件(如旧版 GitLens、Project Manager)会劫持窗口创建逻辑 → 临时禁用插件后重试
- 命令必须在你希望“被合入”的那个主窗口中执行,且焦点要落在它上面
拖拽文件到目标窗口时总失败?检查这三处
拖拽是最常用也最容易卡住的操作,失败往往不是手慢,而是区域或设置不对:
-
window.dragAndDropTabs必须为true(默认开启),若被插件或手动改过,需在设置中搜该配置项并启用 - 拖拽目标必须是“编辑器区域边缘”,不是标题栏、侧边栏或标签栏空白处 → 正确位置是编辑器区左右/上下边缘,出现蓝色高亮框才松手
- 拖到左侧资源管理器区 → 只触发预览;拖到顶部标签栏 → 无反应;拖进编辑器区中间 → 新建标签页但不自动分组
合并后想并排看文件?别靠猜快捷键
垂直分屏和水平分屏是组织已合并内容的关键,快捷键必须记准:
- 垂直分割当前编辑器:
Ctrl+\(Win/Linux)或Cmd+\(macOS) - 水平分割:
Ctrl+Shift+\(Win/Linux)或Cmd+Shift+\(macOS) - 右键文件标签 → “移动到其他组” → “新建组”,比快捷键更直观,尤其适合鼠标操作者
- 拖一个文件标签到另一个窗口的编辑器边缘蓝色框处,松手即新建组并放入,不是覆盖原标签
真正容易被忽略的是:合并窗口 ≠ 合并工作区。多个项目仍建议用 .code-workspace 统一加载,否则每次重启还得重复拖拽和分组。而单个窗口内几十个标签页,不该走“合并”路线——那是编辑器组管理和预览策略的问题。











