工程项目管理 (VSCode 插件)
面向多模块/多服务工程的"项目管家"插件:模块树展示、工作区与模块的 zip 导入导出、远端 Git 资产仓双向同步。

为什么用它
如果你在维护一个多模块、多服务的工程仓库(每个模块一个文件夹、模块下若干 Git 子仓服务),并且:
- 想在 VSCode 里一眼看清所有模块与服务,不用反复打开文件管理器
- 需要把整个工作区或某些模块打包发给同事 / 跨设备迁移,且能自动
git clone 服务源码
- 团队希望把工作区的文档资产同步到一个 Git 仓库,但不想破坏既有的服务源码仓结构
这个插件就是为这些场景设计的。
功能一览
🌲 模块树视图
按工作区根目录下的 module.json 自动发现模块;每个模块下展示其服务,并标出缺失的关键文档。
- 左键:在文件管理器中定位
- 右键:导出此模块、在终端打开、在文件管理器中显示
📦 工作区 / 模块 导入导出
把工作区或选定模块打包成一个 zip,内含:
- 工作区总览文档(
WorkspaceOverview.md 等)
- 模块配置 (
module.json) 与文档(架构总览、技术决策知识库)
- 各服务的
feature_desc.md
- 各服务的 Git remote 地址(凭证已自动剥离)
导入时插件会:
- 解压 zip、分析与目标工作区的冲突
- 让你逐项决定「覆盖 / 跳过」
- 写入文档 + 并发
git clone 自动拉取服务源码
☁️ 远端 Git 资产仓双向同步
把工作区文档(manifest + 各级 md/json)双向同步到一个 Git 仓库,免去手工传 zip。
- 绑定向导:输 URL 后自动列出远端分支供选择;空仓自动首推、非空仓让你选订阅哪些模块
- 拉取:智能 rebase,远端无新提交直接短路返回
- 推送:自动新建
feature/<用户名>_<时间戳> 分支并 push,由你在 git 平台发起 MR 合入主分支(不会直接污染绑定分支)
- 订阅管理:
full 双向 / partial 只读订阅;全选自动转 full 模式
- 状态感知:本地与远端 HEAD 差异时主动提示「远端有更新,建议先拉取」
快速上手
前置要求
- VSCode
≥ 1.85
- 系统已安装 Git(
git --version 可用)
- Git 凭证已配好(SSH key 或
git credential helper),插件不持有任何凭证
安装
VSCode 扩展面板(Cmd+Shift+X / Ctrl+Shift+X)搜索 工程项目管理 或 peirongyan,点击安装。
工作区约定
插件以 module.json 为事实源,工作区结构需符合:
<工作区根>/
├── WorkspaceOverview.md # 可选:工作区总览
├── workspace-overview.json # 可选:总览版本记录
├── <模块文件夹>/
│ ├── module.json # 必需:声明模块名、服务列表
│ ├── EngineeringArchOverview.md # 推荐:模块架构总览
│ ├── TechnicalDecisionKB.md # 推荐:模块技术决策
│ └── <服务仓库>/
│ └── feature_desc.md # 推荐:服务功能描述
module.json 最小示例:
{
"name": "支付模块",
"folderName": "payment",
"services": ["payment-api", "payment-worker"]
}
使用
- 在 VSCode 中打开工作区根目录
- 左侧活动栏点击「工程项目管理」图标,看到模块/服务树
- 视图标题栏按钮:刷新、打开导入/导出/资产仓面板
- 在面板中执行导出、导入或资产仓相关操作
配置项
| 配置 |
默认值 |
说明 |
projectManage.cloneConcurrency |
3 |
导入服务时并发 git clone 数量(1-10) |
命令列表
均可在命令面板(Cmd+Shift+P)中触发:
工程项目管理: 刷新工作区
工程项目管理: 打开导入/导出/资产仓面板
工程项目管理: 导出整个工作区...
工程项目管理: 导入工作区/模块包...
隐私与安全
- 插件不上传任何数据到外部服务器
- Git 凭证仅由系统的
git credential helper 处理,插件不接触
- 导出 zip 时会自动剥离 Git URL 中的
user:token@ 凭证段,避免误传他人
反馈与问题
发现问题或希望新增功能,欢迎提 issue 或联系作者。
License
MIT
| |