VSCode无“合并窗口”功能,需先通过任务管理器确认多进程(Windows查Code.exe、macOS查Electron),再执行Window: Merge All Windows命令或拖拽至编辑器边缘蓝色框处,并保存为.code-workspace文件固化布局。

VSCode 没有“合并窗口”这个操作——你看到的多个窗口,要么是独立进程(真·多窗口),要么只是单窗口里标签太多(假·多窗口)。先判断清楚,再动手,否则拖半天没反应、命令按了没用,纯属白忙。
怎么确认是不是真有多个 VSCode 窗口进程
很多人一看到标签栏挤满就以为要“合并”,其实只是标签管理问题。真正需要合并的,是任务管理器里跑着多个 Code.exe(Windows)或 Electron(macOS)进程。
- Windows:按
Ctrl+Shift+Esc打开任务管理器 → “进程”页签 → 搜索Code.exe,看数量是否 >1 - macOS:打开“活动监视器” → 搜索
Electron→ 看实例数是否 >1 - 如果只有 1 个进程,但标签页堆成山 → 别合并,该用
workbench.editor.enablePreview关闭预览模式、或右键标签选“关闭其他编辑器”
Window: Merge All Windows 命令为什么没反应
这个命令只对“同源启动、同用户会话”的窗口有效,不是万能胶,三类情况它直接失效:
- 从 Dock 或开始菜单反复点击图标新开的窗口 → 系统可能视为新会话;改用命令行启动:
code --new-window /path/to/project - 双击某个文件(如
package.json)直接打开的窗口 → 属于“临时工作区”,Window: Merge All Windows对它无效 - 某些插件(如旧版 GitLens、Project Manager)劫持了窗口创建逻辑 → 临时禁用插件后重试,再逐个排查
- 命令必须在你希望“被合入”的那个主窗口中执行,且焦点得落在它上面
拖拽文件到目标窗口失败?检查这三点
拖拽是最常用也最容易卡住的操作,失败往往不是手速问题,而是区域或配置不对:
-
window.dragAndDropTabs必须为true(默认开启),若被插件覆盖或手动关过,去设置里搜这个配置项并启用 - 拖拽目标必须是“编辑器区域边缘”,不是标题栏、不是侧边栏、也不是标签栏空白处;正确位置是编辑器区左右/上下边缘,出现蓝色高亮框才松手
- macOS 用户注意:
Cmd + 点击 Dock 图标启动的窗口比 Dock 右键选 “New Window” 更容易被合并
长期多项目协作,别拼窗口,用 .code-workspace
靠拖拽和命令临时合并,治标不治本。真正稳定、可复现、可提交到 Git 的方案,是手写一个 .code-workspace 文件:
- 新建空文件,命名为
my-workspace.code-workspace - 用 VSCode 打开它,填入类似结构(注意
path是相对路径,不能以/或C:\开头):
{
"folders": [
{"path": "../backend"},
{"path": "../frontend"},
{"path": "../shared"}
],
"settings": {
"editor.tabSize": 2
}
}
保存后双击打开,所有文件夹自动并列显示在资源管理器里。以后只要打开这个文件,布局就回来了——这才是生产环境该用的方式。


















