vscode无“窗口合并”快捷键,所谓合并实为将其他进程窗口的文件拖入当前窗口编辑器组,仅支持通过命令面板调用window: merge all windows(限同会话启动的窗口),且无法绑定快捷键。

VSCode 没有“窗口合并”快捷键,也不存在可设置的 Window: Merge Windows 类命令 —— 你设不了,因为它根本不存在。
为什么搜不到 Merge Windows 相关命令
VSCode 的「窗口」是操作系统级进程(Windows 上多个 Code.exe,macOS 上多个 Electron 实例),而编辑器内部只有「编辑器组」(Editor Groups)。所谓“合并窗口”,实际是把其他进程窗口里的文件拖进当前窗口的某个组里,不是进程合并。
- 在命令面板(
Ctrl+Shift+P)里搜Merge Windows、Join Window、Combine Windows,结果为空 —— 这不是你漏装插件,是 VSCode 确实没提供该功能 -
Window: Merge All Windows命令只对同会话下、由code --new-window启动的窗口有效;双击文件打开的临时窗口、Dock 右键新建的窗口,大概率不响应 - 即使命令执行成功,它也只是把其他窗口的文件标签“迁移”到当前窗口,并关闭那些窗口进程,不是快捷键绑定行为
真正能设快捷键的,是编辑器组操作
你真正能自定义快捷键的,全是「组内动作」:拆分、切换、关闭组,而非跨进程窗口操作。默认已有但常被忽略:
-
Ctrl+\(Win/Linux)或Cmd+\(macOS):垂直分割,新建右侧组(对应命令workbench.action.splitEditorDown) -
Ctrl+Shift+\或Cmd+Shift+\:水平分割,新建下方组(workbench.action.splitEditorRight) -
Ctrl+1~Ctrl+9:聚焦第 N 个编辑器组(编号显示在状态栏右下角) -
Ctrl+K Ctrl+W:关闭当前编辑器组(含所有打开文件),不是关单个标签页
这些命令可在 Ctrl+K Ctrl+S 打开的键盘快捷方式设置中直接修改,比如把水平分割改成 Ctrl+Alt+H。
拖拽失败?不是快捷键问题,是目标区域错了
很多人以为拖文件标签就能“合并窗口”,结果拖过去没反应,其实是松手位置不对:
- 拖到资源管理器侧边栏 → 只触发预览,不新建标签页
- 拖到顶部标签栏空白处 → 无反馈,系统忽略
- 正确位置:拖入编辑器区域的左右/上下边缘,看到蓝色高亮框再松手 —— 这才是 VSCode 认可的“接收区”
- 若仍失败,检查设置中
window.dragAndDropTabs是否为true(默认开启,但某些插件可能覆盖)
想一键收拢所有窗口?靠命令行,不是快捷键
唯一接近“合并”的可靠方式,是用终端启动并约束行为:
- Windows/Linux:
code --new-window /path/to/project启动新窗口,确保它可被Window: Merge All Windows识别 - macOS:避免用 Dock 右键“New Window”,改用
Cmd+点击 Dock 图标或命令行,兼容性更好 - 执行
Window: Merge All Windows前,必须确保焦点在你希望保留的主窗口上 —— 它不会弹窗问你“合并到哪”,而是默认合入当前激活窗口
这个命令不能绑定快捷键(VSCode 不允许为它分配 keybinding),只能手动从命令面板调用。别浪费时间在 keybindings.json 里找它。











