VS Code 不支持单窗口真正同时打开两个根文件夹,需通过多根工作区(生成 .code-workspace 文件)或新建独立窗口实现;拖拽文件夹到已有窗口会替换而非并列加载。

VS Code 不能真正“同时打开两个文件夹”作为根工作区
VS Code 的工作区模型决定了:一个窗口默认只挂载一个根文件夹(workspace)。所谓“打开两个文件夹”,实际是通过多根工作区(multi-root workspace)或多个独立窗口实现,不是拖两个文件夹进去就自动并列显示。
用多根工作区把多个文件夹组织进同一个窗口
适合需要跨文件夹跳转、统一搜索、共享设置但又不想混在一起的场景。本质是创建一个 .code-workspace 文件来声明多个文件夹路径。
- 在 VS Code 中打开任意一个文件夹(比如
project-a) - 执行命令
Workspaces: Add Folder to Workspace...(Ctrl+Shift+P 输入该命令) - 选择第二个文件夹(比如
project-b),它会出现在左侧资源管理器顶部的「WORKSPACE」区域下 - 保存工作区:执行
File > Save Workspace As...,生成一个my-workspace.code-workspace文件
⚠️ 注意:settings.json 在多根工作区里分三层——用户级、工作区级(即 .code-workspace 文件同级)、文件夹级。文件夹级设置优先级最高,容易误以为改了全局却没生效。
直接开两个 VS Code 窗口更简单可靠
多数人真正想要的只是“两边都能看着”,而不是强耦合的跨项目功能。这时候新开窗口比折腾工作区更省心。
- 已有一个 VS Code 窗口打开着
folder-a,按Ctrl+Shift+N(Windows/Linux)或Cmd+Shift+N(macOS)新建独立窗口 - 在新窗口里用
File > Open Folder...打开folder-b - 或者直接在终端运行:
code -n /path/to/folder-b(-n强制新窗口)
这样两个窗口完全隔离:扩展启用状态、调试配置、终端会话互不影响。别被“工作区”概念绕晕——不是所有场景都需要它。
常见错误:拖拽文件夹到已有窗口后“不见了”
这是最常被误解的操作。把第二个文件夹拖进已有窗口,VS Code 默认行为是**关闭当前文件夹,切换到新文件夹**,不是添加。
- 除非当前是空窗口或已处于多根工作区中,否则拖入 ≠ 添加
- 拖入后发现左边只剩一个文件夹?说明它替换了,不是并列
- 想确认是否为多根工作区:看资源管理器顶部是「EXPLORER」还是「WORKSPACE」;后者才表示多个根目录已加载
真正要加第二个文件夹,必须走命令面板里的 Add Folder to Workspace...,没有快捷键捷径。










