如何在vscode中管理多个项目与工作区切换【教程】

8次阅读

VS Code 多项目应使用工作区(.code-workspace 文件)而非反复打开文件夹,它可并存多个文件夹、保存专属设置;需手动管理扩展启用范围、谨慎配置 settings.json 并排除敏感项。

如何在vscode中管理多个项目与工作区切换【教程】

VS Code 里打开多个项目,别用“文件 > 打开文件夹”反复覆盖

直接用 File > Open Folder 打开第二个文件夹时,当前窗口会关闭原有项目——这不是多项目,是替换。真正支持并存多个项目的机制叫「工作区(Workspace)」,它本质是一个 .code-workspace 文件,记录了多个文件夹路径和各自设置。

  • 手动创建:菜单 File > Save Workspace As…,保存为 my-project.code-workspace
  • 添加文件夹:打开工作区后,右键资源管理器空白处 → Add Folder to Workspace…
  • 移除文件夹:右键某个文件夹 → Remove Folder from Workspace
  • 工作区文件可提交到 git(但注意排除 settings.json 中的用户敏感配置)

切换工作区不能只靠「最近打开」,要用命令面板或工作区文件关联

VS Code 的「最近打开」列表默认只显示文件夹,不区分是否属于某工作区;点进去可能只是单文件夹视图,丢失其他已添加的文件夹和工作区级设置。

  • 快捷切换:按 Ctrl+Shift+Pwin/linux)或 Cmd+Shift+Pmac),输入 Workspaces: Open Workspace,选择已保存的 .code-workspace 文件
  • 更省事:把 .code-workspace 文件和对应项目放一起,双击它即可用 VS Code 启动完整工作区
  • 终端启动:在终端中运行 code my-project.code-workspace,确保已配置 code 命令(见 VS Code 文档「Shell Command」)

工作区设置(settings.json)优先级高于用户设置,但别乱改共享配置

每个工作区根目录下的 .vscode/settings.json 会覆盖全局设置,比如你想让「前端项目」默认启用 ESLint,而「脚本工具」禁用它,就得在这里写:

{   "eslint.enable": true,   "files.autoSave": "onFocusChange",   "editor.tabSize": 2 }
  • 多人协作时,避免写入机器相关路径(如 "python.defaultInterpreterPath")、密钥、绝对路径
  • 若需差异化 Python 解释器,改用 .vscode/pythonPath 或更推荐的「Python 扩展的环境选择器」(右下角点击 Python 版本,选对应 venv)
  • 想让某些设置仅对当前工作区生效且不提交?加 // @ts-ignore 注释没用;正确做法是设为 "editor.fontFamily": "Consolas, 'Courier New', monospace" 这类安全项,或用 settings.json + .gitignore 排除

扩展启用范围不自动随工作区切换,得手动开关

装了 50 个插件,但只有 3 个在数据库项目里有用?VS Code 默认全局启用所有已安装扩展,不会因为你切到某个工作区就自动禁用无关插件——这既影响启动速度,也可能引发冲突(比如两个 LSP 插件同时尝试处理同一类文件)。

  • 右键扩展面板里的某个插件 → Extension Settings → 切换「Workspace」选项卡 → 开关「Enable in Workspace」
  • 常见要限制的:dockerkubernetes、Python、Remote-ssh、GitLens(部分功能在纯前端项目里没必要)
  • 检查当前工作区启用了哪些扩展:命令面板输入 Extensions: Show Enabled Extensions in this Workspace

工作区不是“高级功能”,而是 VS Code 管理真实开发场景的基础设施;漏掉扩展作用域控制或误把单文件夹当工作区,后续调试配置冲突时会花更多时间倒查。

text=ZqhQzanResources