0

0

VSCode中如何管理多个项目的工作区?【教程】

夢幻星辰

夢幻星辰

发布时间:2026-01-18 22:21:18

|

633人浏览过

|

来源于php中文网

原创

VSCode多根工作区通过.code-workspace文件管理多个项目,需用code --add-folder命令以绝对路径添加文件夹;folders字段禁止重复或嵌套路径,settings覆盖全局配置但丢失注释;切换工作区时未关闭标签页会失效上下文;tasks.json和launch.json须置于工作区同级.vscode目录下,并用变量指定子项目路径。

vscode中如何管理多个项目的工作区?【教程】

code --add-folder 命令向已有工作区添加项目

VSCode 的「工作区」本质是一个 .code-workspace 文件,它记录了多个文件夹路径和个性化设置。直接双击打开或用 File > Open Workspace 只能加载已有工作区,但想动态加项目,得用命令行:

code --add-folder /path/to/project-b /path/to/my-workspace.code-workspace
注意:路径必须是绝对路径;如果工作区文件不存在,该命令会创建一个空工作区(不含任何文件夹),所以建议先用 File > Save Workspace As... 保存一个初始工作区再操作。

工作区设置里 "folders""settings" 的作用范围

打开 .code-workspace 文件,你会看到两个顶层字段:"folders" 列出所有纳入的项目根目录,"settings" 是仅在此工作区生效的配置(比如 "editor.tabSize": 2)。关键点在于:

  • "folders" 中的路径不能重复,也不能是彼此的子目录(否则 VSCode 会报错“folder is already in workspace”)
  • "settings" 会覆盖用户级和文件夹级设置,但不继承 settings.json 里的注释或格式——保存后注释全丢,缩进强制为 2 空格
  • 如果某个项目需要单独的插件启用状态(如只在 backend 里启用 rust-analyzer),VSCode 不支持按文件夹开关插件,只能靠工作区 "extensions" 字段统一管理(且仅限推荐)

切换工作区时未关闭的编辑器标签页会怎样?

VSCode 不会自动清理跨工作区的打开文件。例如你在 frontend.code-workspace 中打开了 src/App.tsx,然后用 File > Open Workspace 切到 fullstack.code-workspace,那个标签页依然存在,但已脱离当前工作区上下文——此时 eslint 规则、launch.json 调试配置、甚至 git 状态栏都可能失效或显示错误。解决办法只有两个:

  • 手动关闭不属于当前工作区的标签页(快捷键 Ctrl+K W 关闭全部)
  • 启用 "workbench.editor.closeOnFileDelete": true,避免误删文件后残留无效标签
没有自动过滤机制,这是最容易被忽略的协作隐患。

多根工作区下 tasks.jsonlaunch.json 怎么定位?

它们不再放在单个项目根目录下,而必须放在工作区文件同级目录的 .vscode/ 里(即 /path/to/my-workspace.code-workspace 所在目录下的 .vscode/tasks.json)。而且:

  • tasks.json 中每个 task 必须显式指定 "group"(如 "build")和 "presentation",否则无法从命令面板触发
  • launch.json"configurations" 里,"cwd" 默认是工作区根目录,若要调试某子项目,必须写成 "${workspaceFolder:project-name}" 这种变量形式
  • 如果多个子项目有同名任务(比如都叫 test),VSCode 会把它们合并显示,执行时靠 "group""detail" 字段区分,但无法按文件夹批量运行

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

10

2025.12.22

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

310

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

639

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

526

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

264

2023.07.24

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.4万人学习

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

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