Overview Version History Q & A Rating & Review
ModMan Pro — VS Code Module Manager for GitLab
ModMan Pro 是一款面向 GitLab(社区版/企业版/自建) 的模块管理扩展,帮助你在 VS Code 中一键完成:
功能配置 :填入 GitLab 访问地址、Token、模块映射表仓库地址(Project ID/URL),并从该仓库的 最新 Release 中拉取映射表到 .vscode/
,可在多个工程复用。
模块安装 :按映射表列出所有模块 → 查询 Release 列表 → 选择版本 → 下载源码并解压到统一模块目录(name@tag
);
依赖解析 :读取已安装模块目录中的 requirements.json
,自动安装依赖;支持版本范围与多写法(v0.1.0
/ V0.1.0
/ 0.1.0
)。
适用场景:公司内部模块化工程、SDK 统一发放、示例工程/组件分发、私有 GitLab 包管理替代方案等。
✨ 功能清单
配置页
保存 GitLab Host 、Private Token (PRIVATE-TOKEN
)与 模块映射表仓库 (只存放 module-map.json
)。
“Test Connection ” 通过后才允许 Save / Fetch latest map from latest Release ,并在页面底部的独立日志框 显示操作日志。
支持自签证书站点(可开启 allowInsecureHttps
)。
模块安装页
搜索过滤 模块名,列表最多显示 10 项,自动自适应高度,可滚动。
查询模块 Release 列表并选择版本安装,安装日志与卸载日志分开显示。
同名模块检测 :安装时若发现已有 name@*
目录,将提示“更新并替换”或取消。
已安装模块 :支持搜索、多选一键删除 、刷新列表。
依赖解析
安装完成后自动读取该模块目录下的 requirements.json
并解析。
版本表达式支持 :> < >= <= = ==
、以及自定义 =~x
(选择 ≥ x 且最接近的版本 ;若存在 x 则优先 x)。
版本字符串支持 v0.1.0
/ V0.1.0
/ 0.1.0
等写法自动规范化。
若已安装但不满足范围:先弹窗让你输入/调整规则 选择目标版本,再二次确认是否替换安装 (清理旧目录后安装新版本)。
📦 安装
从 VSIX 离线安装
维护者可以在公司内网分发 .vsix
包,用户在 VS Code:
扩展视图(Ctrl/Cmd+Shift+X) → 右上角 …
→ Install from VSIX...
VS Marketplace 上架 (可选)
维护者可将扩展发布到官方商店,其他人搜索安装(见下文“发布到商店”)。
🚀 快速开始
打开命令面板(Ctrl/Cmd+Shift+P),搜索 “ModMan Pro” ,打开:
Configuration / 配置页
Installer / 安装页
在 配置页 :
填写 GitLab Host (例如 http://192.168.0.127:9980
);
填写 Private Token ;
填写 映射表仓库 (Project ID 或仓库 URL);
点击 Test Connection → 通过后点击 Save 或 Fetch latest map from latest Release 。
在 安装页 :
搜索选择模块 → 点击 Get release versions → 选择 tag → Install ;
安装完成会自动解析依赖,按需提示你选择版本规则并确认是否替换安装;
“已安装模块”区域支持搜索、多选卸载 、刷新。
模块会被安装到统一目录(可配置,默认 ${workspaceFolder}/modules
),目录命名为 name@tag
。
🧭 配置项(Settings)
扩展设置(modmanPro.*
):
modulesDir
:模块安装根目录,默认 ${workspaceFolder}/modules
;
allowInsecureHttps
:允许访问自签/不受信证书的 GitLab(仅在内网可信环境启用)。
这些设置既写入当前工程 .vscode/
目录,也会写入扩展的全局存储,便于复用。
🗂️ 数据文件格式
1) module-map.json
存放在映射表仓库 的根目录(通过 Release 提供),示例:
{
"modules": [
{
"name": "view_code_create",
"projectId": 195,
"repoUrl": "http://192.168.0.127:9980/lingtianjie/view_code_create",
"description": "代码创建/示例工程"
},
{
"name": "smallMemList",
"projectId": 201,
"repoUrl": "http://192.168.0.127:9980/yourgroup/smallMemList",
"description": "小内存池系统"
}
]
}