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

必须显式保存为 .code-workspace 文件,否则所有“添加文件夹”操作只是临时会话,关掉窗口就清空了。
为什么加了文件夹却找不到其他项目的文件?
最常见误判:你以为已进入多根工作区,其实只是把文件夹拖进了窗口,或在已有单项目窗口里点了“添加文件夹到工作区”,但没保存。VSCode 不会自动持久化路径。
- 检查资源管理器顶部:是否显示多个带名称的根目录标签(如
frontend、backend)?没有 → 还是单根模式 - 按
Ctrl+Shift+P输入Developer: Toggle Developer Tools,看 Console 是否有path does not exist类警告 - 右键侧边栏任意根目录 → 若只有
Close Folder,说明它只是个临时标签页;出现Remove Folder from Workspace才代表已生效
保存工作区时路径怎么写才跨平台、可协作?
.code-workspace 文件里 "folders" 数组中的 "path" 字段,直接决定团队能否开箱即用。
- 绝对路径(如
"path": "/Users/alex/project/api")→ 本地能开,别人打开必报错Unable to open workspace: path does not exist - 纯相对路径(如
"path": "api")→ 要求所有项目都在同一级目录下,且必须从该父目录执行code my-system.code-workspace - 推荐写法:
"path": "../shared-lib"或"path": "services/auth",配合把.code-workspace文件放在所有项目共同的父目录下,并提交到 Git
调试和终端为什么总在错误的项目里启动?
多根工作区里没有全局“当前项目”,只有“活动文件夹(Active Folder)”,它决定 launch.json 加载范围、终端初始路径、甚至 ESLint 配置生效位置。
- 默认取
folders数组中第一个路径作为活动文件夹,不随你当前编辑的文件自动切换 - 右键资源管理器中某个根目录 → 选
Set as Active Folder,手动切换上下文 - 终端默认在活动文件夹下启动;想为
backend开终端,就先设它为活动文件夹,或右键该文件夹选Open in Integrated Terminal -
launch.json必须放在各自根目录的.vscode/下;VSCode 会合并所有配置,但执行时只读取活动文件夹下的launch.json并应用其cwd
最容易被忽略的是:即使你把五个项目都加进来了,只要没点“保存工作区为…”,它们就只是浮在内存里的幻影——下次打开 VSCode,一切归零。而一旦保存了,.code-workspace 就成了整个开发上下文的唯一事实来源,包括已打开的标签页、终端历史、甚至搜索高亮状态。











