0

0

VSCode如何管理多个项目_多根文件夹工作区配置

夢幻星辰

夢幻星辰

发布时间:2026-01-12 19:51:08

|

232人浏览过

|

来源于php中文网

原创

多根工作区本质是通过 .code-workspace 文件统一管理多个项目,需显式“另存为”才能持久化;设置优先级为文件夹级 > 工作区级 > 用户级;调试配置必须按文件夹隔离;推荐使用 Project Manager 等扩展提升体验。

vscode如何管理多个项目_多根文件夹工作区配置

多根工作区不是“打开多个窗口”,而是用一个 code-workspace 文件统一加载

VSCode 的“多项目管理”本质是创建一个多根工作区(multi-root workspace),它不是一个 UI 功能开关,而是一个带 .code-workspace 后缀的 JSON 配置文件。直接用「文件 → 打开文件夹」反复添加,只会切换当前根目录,不会叠加;必须显式保存为工作区才能持久化多个文件夹路径。

常见错误现象:
– 在资源管理器里右键“将文件夹添加到工作区”,但没点「文件 → 将工作区另存为…」→ 关闭 VSCode 后所有添加的文件夹丢失
– 把多个项目文件夹拖进已打开的 VSCode 窗口 → 实际只替换了当前工作区,旧根被丢弃

  • 正确流程:先打开一个项目文件夹 → 「文件 → 将文件夹添加到工作区…」添加其他路径 → 最后「文件 → 将工作区另存为…」生成 my-projects.code-workspace
  • 该文件可被 Git 跟踪(建议提交,尤其含共享设置时),但注意不要提交敏感配置如 env 或密钥
  • 后续双击该文件,或执行 code my-projects.code-workspace 即可复现完整结构

settings.json 在多根工作区里分三层生效:用户 → 工作区 → 文件夹

多根工作区下,设置优先级是:文件夹级 > 工作区级 > 用户级。其中「工作区级」指 .code-workspace 文件内嵌的 settings 字段,「文件夹级」指各项目根目录下的 .vscode/settings.json

典型冲突场景:
– 你在工作区级设了 "editor.tabSize": 2,但某个前端项目需要 4 → 它的 .vscode/settings.json 会覆盖全局值
– 你把 ESLint 插件的 "eslint.enable": true 写在用户设置里,结果 Python 项目也触发校验 → 应移到对应文件夹的 .vscode/settings.json 中禁用

  • 推荐策略:工作区级只放跨项目通用设置(如 "files.exclude""search.exclude"
  • 语言/框架相关配置(如 Prettier、TypeScript path mapping、Python interpreter 路径)一律放在对应文件夹的 .vscode/settings.json
  • 检查当前生效设置:按 Ctrl+Shift+P → 输入「Preferences: Open Settings (JSON)」→ 看顶部注释提示“Workspace settings”还是“Folder settings”

调试配置 launch.json 必须按文件夹隔离,不能共用一个

VSCode 调试器不支持跨文件夹复用 launch.json。每个文件夹若需调试,必须在自己的 .vscode/launch.json 中定义独立配置,且 cwdprogramenvFile 等路径都需相对本文件夹根目录书写。

ListenLeap
ListenLeap

AI辅助通过播客学英语

下载

常见错误:
– 在工作区根目录建一个 .vscode/launch.json,试图用变量 ${workspaceFolder:project-a} 指向不同项目 → VSCode 不识别这种语法
– 复制粘贴同一份 launch.json 到多个文件夹,但忘了改 program 路径 → 启动时报错 Cannot find module

  • Node.js 项目示例(放在 project-a/.vscode/launch.json 中):
    {
      "version": "0.2.0",
      "configurations": [
        {
          "type": "node",
          "request": "launch",
          "name": "Launch project-a",
          "skipFiles": ["/**"],
          "program": "${workspaceFolder}/src/index.js",
          "console": "integratedTerminal"
        }
      ]
    }
  • Python 项目同理:确保 "python.defaultInterpreterPath" 是本项目虚拟环境路径,且写在 project-b/.vscode/settings.json 中,而非工作区级
  • 调试时,左下角状态栏会显示当前激活的文件夹名,确认选对了再点 ▶️

扩展推荐:靠 Workspace TrustProject Manager 补足原生短板

VSCode 原生多根工作区不提供快速切换、自动恢复上次打开的项目列表、或按类型过滤等功能。两个轻量扩展能显著改善体验:

  • Workspace Trust:多根工作区默认启用信任机制,但某些项目(如从 GitHub 直接 clone 的 demo)可能被标记为“不受信任”,导致插件禁用、终端受限。该扩展帮你一键批量信任/取消信任指定文件夹
  • Project Manager:把常用工作区注册为项目,快捷键 Ctrl+Cmd+P(macOS)或 Ctrl+Shift+P(Win/Linux)输入「Project Manager: List Projects」即可秒开。适合日常高频切换 5+ 个项目的场景
  • 注意:这两个扩展都不修改 .code-workspace 结构,只是操作层增强;卸载后原有工作区照常可用

真正容易被忽略的是:工作区文件里的 folders 数组顺序决定了资源管理器中文件夹的排列顺序,如果某项目总被遮挡,手动调整 JSON 里路径顺序比拖拽更可靠。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

748

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

634

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

758

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1261

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

577

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

705

2023.08.11

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

10

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号