必须显式保存为.code-workspace文件,否则添加的文件夹仅为临时会话;关闭窗口即丢失所有路径,且调试、终端等均依赖活动文件夹上下文。

直接保存为 .code-workspace 文件,否则所有添加操作只是临时会话,关掉窗口就清空了。
必须显式保存为 .code-workspace 文件
VSCode 不会自动把“添加文件夹到工作区”的动作持久化。你点几次 Add Folder to Workspace…,只是在当前会话里临时叠加目录;一旦关闭窗口,这些路径全部丢失。
- 添加完所有目标文件夹后,务必点击菜单栏
File > Save Workspace As… - 文件名必须以
.code-workspace结尾(如my-projects.code-workspace),VSCode 才认它是多根工作区配置 - 保存位置建议放在所有项目共同的父目录下,方便后续用命令行打开:
code my-projects.code-workspace
路径写法决定能否跨机器/跨平台复用
在生成的 .code-workspace 文件里,"folders" 数组中的 "path" 字段写错,别人或换台电脑就打不开。
- 绝对路径(如
"path": "/Users/me/project/backend")→ 本地能开,协作时大概率报Unable to open workspace: path does not exist - 相对路径(如
"path": "backend")→ 要求所有项目文件夹都在同一级目录下,且你从该父目录执行code命令 - 推荐写法:
"path": "../shared-lib"或"path": "frontend",配合 Git 提交该.code-workspace文件,团队直接双击即可加载
添加后发现 Ctrl+P 搜不到其他根目录的文件?
这是最常见误判:你以为加进来了,其实只是拖拽进了窗口,或者没真正创建多根工作区。
- 检查资源管理器顶部:是否显示多个带名称的根目录标签(如
frontend、backend)?没有 → 还是单根模式 - 按
Ctrl+Shift+P输入Developer: Toggle Developer Tools,看 Console 是否有路径解析失败警告 - 右键侧边栏任意根目录 → 如果出现
Remove Folder from Workspace,说明已生效;若只有Close Folder,那它只是个临时标签页
调试和终端默认只作用于“活动文件夹”
多根工作区里,VSCode 默认把第一个添加的文件夹设为“活动文件夹”,这直接影响 launch.json 启动行为和集成终端初始路径。
- 右键资源管理器中某个根目录 → 选
Set as Active Folder,可手动切换上下文 - 终端默认在活动文件夹下启动;想为
backend开终端,就先设它为活动文件夹,或右键该文件夹选Open in Integrated Terminal - 调试时,
launch.json需放在各自根目录的.vscode/下;VSCode 会合并所有配置,但执行时仍依赖当前活动文件夹的上下文(比如cwd)
最容易被忽略的是:.code-workspace 文件本身不包含任何代码,它只是一个指向路径的索引。路径失效、权限不对、拼写错误——VSCode 都不会报错,只会静默跳过那个文件夹。打开后务必逐个点开每个根目录,确认能展开子文件树,再开始写代码。











