讲师中心 微信公众号
AI工具推荐 视频效率加速

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

小萱大大_4752

小萱大大_4752

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

|

1019人浏览过

|

来源于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)。多项目管理中,优先级和作用域容易混淆。

One-click installation of GitHub projects
One-click installation of GitHub projects

GInstall OneClick — 一键安装 GitHub 项目:规划、克隆、安装 Node 依赖、运行开发脚本。适用于想要获取 GitHubNode.js 项目的用户。

下载
  • settings.json 放在某个子文件夹下(如 frontend/.vscode/settings.json),只影响该文件夹及其子目录(比如只对前端项目启用 eslint.enable)
  • .code-workspace 中的 settings 字段,作用于整个工作区——适合统一关闭干扰项(如禁用所有项目的 editor.formatOnSave)
  • 扩展本身不按项目隔离,但可配合 extensions.ignoreRecommendations + 工作区级 recommendations 控制提示,避免后端项目弹出 React 插件推荐
  • 注意:某些扩展(如 Prettier、ESLint)依赖工作区根路径查找配置文件(.prettierrc、eslintrc.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 workspace 或 nx 等专用工具管理,VSCode 仅作为编辑器配合。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

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

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

2135

2023.08.07

json是什么
json是什么

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

3302

2023.08.23

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

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

1116

2023.10.13

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

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

3779

2025.09.10

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

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

4396

2023.06.20

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

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

1355

2023.07.28

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

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

1758

2023.08.03

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

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

9943

2023.08.17

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

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

精品课程

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

共58课时 | 12.3万人学习

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

共12课时 | 1.4万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn