Skip to content

新建与打开模块 ​

[🕒 预计 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 后即时生效,不需要「打包 → 安装」走一轮。

推荐的工作节奏:

  1. 进入工作台 → 活动栏「模块」→ 找到模块卡片 → 启用到当前项目;
  2. 「文件 → 打开文件」编辑 lingbuilder.module.json、C++ 源码、docs 与 examples;
  3. 模块页「模块包导出」把源码目录发布为 .lbmod 模块包(源码目录须位于 .lingbuilder/module-build 下,输出到 .lingbuilder/module-packages)。

4. 常见问题 ​

现象原因与处理
提示「目标目录已存在」.lingbuilder/module-build/<ID> 已有同名工程:换一个模块 ID,或确认旧目录可弃后手动删除
工程树里看不到模块源码.lingbuilder/module-build 是模块工程目录,不进项目树;用「文件 → 打开文件」按路径打开其中的文件编辑
创建的模块在模块页找不到模块落在当前工作区的 .lingbuilder/module-build;确认创建后没有切换到别的工作区
「打开模块包」报解压失败文件可能损坏或不是有效模块包;先用模块页「安装 .lbmod」预览验证包完整性
导出 .lbmod 时提示目录不合法导出要求源码目录位于 .lingbuilder/module-build 下——欢迎页创建/解开的工程天然满足

5. 相关文档 ​

  • 手写清单的完整字段与校验门禁,以随 IDE 分发的《模块开发手册》为准;
  • 想让 AI 帮你写模块:见「用 AI 生成模块」;
  • 安装别人发布的模块:见「安装与管理模块」;
  • 模块里封装命名常量(如虚拟键码表):见「模块公开常量」。