VSCode多根工作区配置由.code-workspace文件定义,需手动创建保存并改写绝对路径为相对路径,同时必须同步导出.vscode/目录下的launch.json、tasks.json等文件,Settings Sync不支持同步工作区配置。

VSCode 工作区配置不是 settings.json,而是 .code-workspace 文件
工作区配置不能从「设置 → 导出」获得,settings.json 里存的是用户级或工作区级的设置快照,但真正定义多根工作区结构、路径、覆盖配置和推荐扩展的,只有 .code-workspace 这个 JSON 文件。它必须显式创建并保存,否则只是临时会话,关掉就丢。
- 启动 VSCode 后确保状态栏显示 No folder opened(不能先打开某个文件夹)
- 按
Ctrl+Shift+P输入Add Folder to Workspace,逐个添加项目目录 - 添加完立刻执行
File > Save Workspace As…,命名为my-project.code-workspace - 保存后状态栏应显示 Workspace,这才是有效工作区标识
导出前必须检查 .code-workspace 的 paths 字段
直接保存生成的 .code-workspace 文件可能含绝对路径(如 "path": "/home/you/project/backend"),迁移到其他机器或共享给同事时会失效。跨环境使用前务必手动改写为相对路径。
- 把
"path": "/Users/xxx/client"改成"path": "./client"(Linux/macOS)或"path": ".\client"(Windows) - 禁止嵌套路径:不能同时存在
"./api"和"./api/src",VSCode 会报错folder is already in workspace -
settings块内不保留注释,所有缩进会被强制转为 2 空格;敏感值(如 API key、本地路径)要提前清理
工作区里的 launch.json 和 tasks.json 不在 .code-workspace 里
.code-workspace 只负责组织文件夹和顶层设置,调试和任务配置仍需单独管理。它们必须放在工作区根目录下的 .vscode/ 子目录中,且路径引用要用变量。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
.vscode/launch.json中的program或cwd字段,优先用${workspaceFolder:client}而非硬编码路径 -
.vscode/tasks.json的args或env里若含C:、/Users/、/home/,导入后大概率调试失败 - 这些文件本身不被
.code-workspace“包含”,导出时得一并打包,否则新机器打开后 Debug 面板为空、终端任务找不到脚本
别指望 Settings Sync 同步工作区配置
Settings Sync(无论 GitHub 还是 Microsoft 账号)只同步用户级配置、扩展列表、快捷键和代码片段,完全忽略 .code-workspace 文件和 .vscode/ 下任何内容。它甚至不会记录你当前打开的是哪个工作区。
- 你在 A 电脑上保存了
fullstack.code-workspace,B 电脑登录同一账号并开启 Sync,也不会自动出现该文件 - Sync 后 B 电脑的 Extensions 视图可能显示已安装插件,但
extensions字段在.code-workspace中声明的recommendations不会触发安装 - 真正可靠的导出方式只有:把
.code-workspace+.vscode/目录整体复制走,再手动放到目标位置
工作区配置迁移最常被忽略的点,是认为“保存了 workspace 就等于保存了全部上下文”。实际上,launch.json 里的路径变量、tasks.json 中的环境变量、甚至 .vscode/settings.json 里针对某子项目的特设规则,都得单独校验是否可移植——它们不会随 .code-workspace 自动生效,也不会被任何同步机制捕获。










