新建与打开模块
[🕒 预计 8 分钟] | 难度:入门
LingBuilder 在欢迎页提供「新建模块」入口:不用命令行,也不依赖外部 AI,直接在 IDE 里从模板创建模块源码工程,或把一个 .lbmod 模块包解开成可编辑的源码目录。
1. 解决什么问题
此前在 IDE 里封装模块只有两条路:「AI 生成模块」(需要联网、把需求描述清楚)和命令行 SDK(lingbuilder module init,要开终端)。想从空白模板一步步手写一个模块,没有图形入口。
「新建模块」补上这条路,提供两种模式,产物完全相同,后续编辑、校验、发布流程也完全一致:
- 从模板新建——拿到一个开箱即用的 manifest v2 模块骨架;
- 打开 .lbmod 模块包——把现成的模块包还原成可编辑源码,方便二次修改后重新发布。
2. 入口与两种模式
欢迎页「新建项目 / 打开工作区」旁边的「新建模块」按钮,弹窗里二选一。
从模板新建
| 字段 | 规则 |
|---|---|
| 模块 ID | 小写字母或数字开头,可含点、下划线、中划线,3~81 位(如 lingbuilder.demo.greeter) |
| 模块名称 | 中文显示名,展示在模块管理列表 |
| 分类 | 界面 / 系统 / 网络 / 数据库 / 图像 / AI / 构建 / 其他 |
| 模块说明 | 展示在模块详情里,建议写清模块提供什么能力 |
骨架生成到工作区 .lingbuilder/module-build/<模块 ID>/,内含:
lingbuilder.module.json— manifest v2 清单(自带示例命令与示例常量,可直接改名复用)include/module_bridge.h、src/module_bridge.cpp— C++ 桥接源码docs/usage.md— 中文使用说明(模块详情里可直接打开)examples/最小示例.lcpp— 供用户引用的最小示例
打开 .lbmod 模块包
填本机 .lbmod 文件的完整路径。模块包会被解开为可编辑源码目录(.lingbuilder/module-build/<模块 ID>/),而不是安装:
bin、lib等二进制资源原样保留;- 解开时校验 manifest v2 与文件路径安全,模块 ID 取自包内清单;
- 目标目录已存在时直接拒绝,不会静默覆盖;
- 不产生安装记录——改完重新打包后才算发布新版本。
3. 创建之后:自动登记开发源
创建或解开成功后,LingBuilder 自动把源码目录登记为开发源链接:模块的补全、诊断和构建物化都直接消费源目录——改完清单、重编 DLL 后即时生效,不需要「打包 → 安装」走一轮。
推荐的工作节奏:
- 进入工作台 → 活动栏「模块」→ 找到模块卡片 → 启用到当前项目;
- 「文件 → 打开文件」编辑
lingbuilder.module.json、C++ 源码、docs 与 examples; - 模块页「模块包导出」把源码目录发布为
.lbmod模块包(源码目录须位于.lingbuilder/module-build下,输出到.lingbuilder/module-packages)。
4. 常见问题
| 现象 | 原因与处理 |
|---|---|
| 提示「目标目录已存在」 | .lingbuilder/module-build/<ID> 已有同名工程:换一个模块 ID,或确认旧目录可弃后手动删除 |
| 工程树里看不到模块源码 | .lingbuilder/module-build 是模块工程目录,不进项目树;用「文件 → 打开文件」按路径打开其中的文件编辑 |
| 创建的模块在模块页找不到 | 模块落在当前工作区的 .lingbuilder/module-build;确认创建后没有切换到别的工作区 |
| 「打开模块包」报解压失败 | 文件可能损坏或不是有效模块包;先用模块页「安装 .lbmod」预览验证包完整性 |
| 导出 .lbmod 时提示目录不合法 | 导出要求源码目录位于 .lingbuilder/module-build 下——欢迎页创建/解开的工程天然满足 |