无论我在Lua中使用什么设置进行编码,都是一样的:自动完成适用于标准库,但不适用于第三方或我自己的库。
我尝试了ZeroBrane工作室,使用Lua插件的VSCode和使用Lua-ftplugin的Vim,在所有3中都有完全相同的行为。我开始键入标准库符号,如
io.w
我确实得到了自动完成弹出窗口,显示了io模块中的所有内容,并显示了与io.write最接近的方法,以及签名和文档。
现在我尝试第三方或我自己的图书馆,如
require("wx"(;wx。
或
require("my_module"(;my_module。
要么什么都没发生,要么模块名称上出现"未定义"警告。如果我用解释器运行代码,它确实有效。它会很好地调用模块中的函数。但在编辑器中,警告和没有自动完成。
我是不是错过了什么?
wxwidgets
API随ZeroBrane Studio预打包,但需要显式启用(您可以将api = {"wxwidgets"}
添加到配置文件中以实现这一点;请参阅文档中的自定义API部分(。任何其他(非打包的(API都需要添加到IDE中,如本文所述。已经有几个流行的API作为插件提供;例如,Redis、Urho3d、openRA等。