原理
LuaDebug 内置 Lua 解析。再通过 luadebug.apiType 加载对应框架的 API 描述文件(普通 Lua + 注释标签),从而提示引擎方法。
--[[
@SuperType [SomeFile#CCNode]
]]
CCPhysicsWorld = {}
--[[
@return [SomeFile#CCPhysicsWorld]
]]
function CCPhysicsWorld:create(gx, gy) end
上面定义了模块与方法;标签用于类型推导。写法与业务代码相同,只是多了标签。
设置 apiType
- 打开设置,搜索
luadebug.apiType。 - 按项目选择:
none/cocos2dx2/cocos2dx3/cocos2dx4/ulua/slua/xlua。 - 多项目请用工作区设置分别指定,改完后重载窗口更稳妥。
内置与自定义 API 文件
插件 api/ 目录已带常见框架 API。若要覆盖或扩展:
- 在脚本根下建立目录,放入自写 API Lua。
- 确保该目录被索引(在 scriptRoots 内或不被 ignore)。
- 用标签描述类型关系,详见 类型标签。
从绑定 / C# 生成 API(概要)
可用工具扫描引擎绑定或 C# 导出,生成带标签的 Lua API 文件。本项目建议:
- 优先使用插件自带
apiType; - 缺口部分用手工 API + 标签补;
- 自行生成的文件放入工程并保证被索引即可。
API 提示错误时,先确认 apiType 是否选错、工作区是否指向当前项目。