先看任务管理器或活动监视器:若仅1个code.exe/electron进程但标签多,应优化标签管理;若多个进程且各开1–2文件,才需执行window: merge all windows。

怎么判断要不要合并项目窗口
先打开任务管理器(Windows 按 Ctrl+Shift+Esc,macOS 打开活动监视器搜 Electron),看是不是有多个 Code.exe 或 Electron 进程。只有一个进程,但标签栏堆满几十个文件 → 不是窗口问题,该用分组或工作区管理;多个进程且每个只开了 1–2 个文件 → 才需要执行真正的“项目窗口合并”。
Window: Merge All Windows 命令为什么没反应
这个命令只对同用户会话、同一 VSCode 安装启动的窗口生效,常见失效原因:
- 从 Dock 或开始菜单反复点击图标新开的窗口,可能被系统识别为新会话 → 改用命令行启动:
code --new-window /path/to/project - 双击文件(如
package.json)直接打开的窗口,常以临时工作区方式启动,Window: Merge All Windows对其无效 - 某些插件(如旧版 GitLens、Project Manager)劫持窗口创建逻辑 → 临时禁用插件后重试
- 命令必须在你希望保留的“主窗口”中执行,且焦点要落在该窗口上
拖拽合并失败的三个关键检查点
拖拽是最常用也最容易失败的方式,问题往往不在操作本身:
-
window.dragAndDropTabs设置是否为true(默认开启,但可能被插件或手动改过)→ 在设置中搜索该配置项并确认启用 - 拖拽目标必须是“编辑器区域边缘”,不是标题栏、侧边栏或标签栏空白处 → 正确位置是编辑器区左右/上下边缘,出现蓝色高亮框才松手
- macOS 用户注意:从 Dock 右键选 “New Window” 启动的窗口,与
Cmd+点击Dock 图标启动的行为不一致,后者更易被合并
用 .code-workspace 固化多项目布局才是长期解法
临时合并只是权宜之计,真正稳定、可复现、跨设备一致的方式是创建工作区文件:
- 关闭所有窗口,在任意一个 VSCode 实例中打开第一个项目文件夹
- 执行
File: Save Workspace As...,保存为my-project.code-workspace - 编辑该文件,在
folders数组里添加其他项目路径,支持相对或绝对路径 - 关闭所有窗口,双击该
.code-workspace文件 → 所有项目自动加载到同一窗口的不同根文件夹下
这个文件可以提交进 Git,团队成员拉取后一键获得统一布局,比反复拖拽和合并可靠得多。











