0

0

如何用VSCode进行多项目管理?_工作区与资源管理器高效用法【教程】

幻影之瞳

幻影之瞳

发布时间:2026-01-20 23:26:02

|

899人浏览过

|

来源于php中文网

原创

VSCode多项目需用多根工作区:拖入多个文件夹仅识别第一个;应通过File>Add Folder to Workspace添加并保存为.code-workspace文件,才能在资源管理器中显示所有根文件夹。

如何用vscode进行多项目管理?_工作区与资源管理器高效用法【教程】

多项目打开时,为什么资源管理器只显示一个文件夹?

VSCode 默认以「单根文件夹」模式启动,即使你拖入多个文件夹,它也只会把第一个作为工作区根目录,其余被忽略。这不是 bug,而是设计逻辑:资源管理器天然绑定 workspace 的根路径。

真正支持多项目并存的机制是「多根工作区」(Multi-root Workspace),必须显式创建 .code-workspace 文件才能启用。

  • 不要直接拖拽多个文件夹到 VSCode 窗口——这只会打开第一个
  • 正确做法:菜单栏选择 File > Add Folder to Workspace...,逐个添加;或先新建空工作区再添加
  • 添加后务必保存为 .code-workspace 文件(如 my-projects.code-workspace),否则关闭后配置丢失
  • 保存后,资源管理器顶部会显示工作区名称,并列出所有已添加的根文件夹(带图标区分)

如何让不同项目使用各自独立的设置和扩展?

VSCode 的设置分三层:用户级(全局)、工作区级(.code-workspace)、文件夹级(各项目根目录下的 .vscode/settings.json)。多项目管理中,优先级和作用域容易混淆。

JTopCms建站系统
JTopCms建站系统

JTopCMS基于JavaEE自主研发,是用于管理站群内容的国产开源软件(CMS),能高效便捷地进行内容采编,审核,模板制作,用户交互以及文件等资源的维护。安全,稳定,易扩展,支持国产中间件及数据库,适合建设政府,教育以及企事业单位的站群系统。 系统特色 1. 基于 JAVA 标准自主研发,支持主流国产信创环境,国产数据库以及国产中间件。安全,稳定,经过多次政务与企事业单位项目长期检验,顺利通过

下载
  • settings.json 放在某个子文件夹下(如 frontend/.vscode/settings.json),只影响该文件夹及其子目录(比如只对前端项目启用 eslint.enable
  • .code-workspace 中的 settings 字段,作用于整个工作区——适合统一关闭干扰项(如禁用所有项目的 editor.formatOnSave
  • 扩展本身不按项目隔离,但可配合 extensions.ignoreRecommendations + 工作区级 recommendations 控制提示,避免后端项目弹出 React 插件推荐
  • 注意:某些扩展(如 Prettier、ESLint)依赖工作区根路径查找配置文件.prettierrceslintrc.js),若跨文件夹生效异常,大概率是它们没在对应项目根目录下

终端、调试、任务默认作用域为什么总“串项目”?

VSCode 的集成终端、调试器、任务(tasks.json)默认基于「活动编辑器所在的文件夹」决定上下文,但这个逻辑在多根工作区里容易失效——尤其当你从一个项目跳到另一个、却没点击其任意文件时。

  • 终端默认启动位置是「当前打开文件所属的文件夹」;如果当前无文件打开,则回退到第一个添加的根文件夹
  • 调试时,launch.json 必须放在对应项目的 .vscode/ 下,且 cwd 字段要设为 ${workspaceFolder}(不是 ${workspaceFolderBasename}
  • 任务(tasks.json)同理:每个项目应有自己独立的 .vscode/tasks.json,并在其中用 ${fileDirname}${workspaceFolder} 明确路径变量
  • 快捷键 Ctrl+Shift+P > Terminal: Create New Terminal (In Active Workspace) 可强制指定终端归属,避免误开在错误项目下

为什么搜索(Ctrl+Shift+F)会扫到不相关的项目文件?

默认情况下,多根工作区的全局搜索会遍历所有已添加的根文件夹。如果你只关心当前编辑的项目,又不想每次手动排除,就得调整搜索范围逻辑。

  • 搜索框右上角的 按钮可展开「files to include/exclude」,输入 !backend/** 排除后端项目(但需手动维护)
  • 更可靠的做法:在资源管理器中右键某个文件夹 → Find in Folder,此时搜索仅限该子树
  • 或者,在搜索框中直接输入路径前缀,如 frontend/src/**.ts,VSCode 会自动限制范围
  • 注意:search.exclude 是全局设置,对多根工作区无效;真正起效的是工作区级 files.exclude 和搜索时的临时路径过滤
实际用起来最常被忽略的一点:多根工作区不是“万能胶水”,它不会自动同步各项目的 Git 状态、依赖安装或语言服务配置。每个文件夹仍是独立实体,只是共享一个窗口和部分 UI 上下文。一旦项目间有强耦合(比如 monorepo),建议改用 pnpm workspacenx 等专用工具管理,VSCode 仅作为编辑器配合。

相关专题

更多
json数据格式
json数据格式

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

413

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数据方法,阅读专题下面的文章了解更多详细内容。

75

2025.09.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

244

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

258

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

5286

2023.08.17

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

19

2026.01.20

热门下载

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

精品课程

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

共58课时 | 3.9万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

React核心原理新老生命周期精讲
React核心原理新老生命周期精讲

共12课时 | 1万人学习

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

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