emLuaIde - 目前唯一支持 luat api 的VSCode 插件

现代软件开发 IDE 能极大提升开发效率,降低出错率,有些甚至能帮你优化代码,提高代码质量。

luat 是上海合宙的创新性嵌入式开发技术框架,基于 lua 语言建立了一个易学好用的嵌入式编程框架。自从使用 luat 开发之后,就试用了各种 lua IDE 工具, 基于eclipse的ldt、 lua studio,这些对于 luat 这种嵌入式开发,过于厚重了。原因在于 luat 这类嵌入式开发都是要写入固件来进行调试,这些 IDE 提供强大 debug 功能是无用的,最关键的是这些 IDE 都不支持 luat 的 API。后来选择了最负盛名的轻量级编辑器 VS Code,lua 是小众语言,已知lua 插件都非常不成熟,最基本的语法高亮和代码提示都没做好。因此萌生出自己写一个支持 luat API 插件的想法。


近期项目收尾,轻松一些,利用周末研究学习了 VSCode 插件开发方法,写了本插件目前版本0.7.3 。安装方法:

1、在 VSCode 扩展安装界面,输入"emluaide"搜索,选择安装。

2、在浏览器输入地址:https://marketplace.visualstudio.com/items?itemName=hugo.emluaide,选择"install",按照提示操作。


第一个公开发布版本,基于做最常用的20%功能,满足80%需要的原则,主要提供了如下功能:

1、Lua 语法高亮和代码输入提示

luat 是基于 lua 的,很多时候我们还是在使用 lua 语言。当输入 lua 关键词符号,会出现代码输入提示,回车后会自动完成函数代码模板,只需要修改相关变量即可。如图:

attachments-2018-09-eger5WMQ5b8d2711e6589.jpg

2、luat 语法高亮和代码输入提示

attachments-2018-09-FAUmFGJq5b8d2d5467ff1.jpg

      为提供更好的代码提示,投入了巨大精力,几乎完整复制了 luat wiki 中api 文档,包括函数简要说明、参数和返回值说明,可部分替代查阅文档的需要。

      完善返回值代码模板。很多 api 函数语法部分是没有返回值的,进行了完善,并提供了代码模板。形式如:local result = class.func(...),比如:     

      local jsondata = json.encode(torigin)

     定义 为 local 局部变量,返回值变量是jsondata。

    此部分工作量很大,可能会有遗漏和错误,大家发现请及时提出来。

后续计划特性:

1、可配置代码格式化,可以自定义自己喜欢的代码格式风格。

2、代码提示增加更丰富常用代码模板。

3、更智能的自动完成,输入方法调用的点,弹出函数选择提示。

4、Hover 支持,鼠标放到函数名上,弹出该函数详细文档说明,无需再翻阅文档。

5、更智能项目代码输入提示,自定义函数、变量再次输入会进行提示,提高编辑效率,降低出错率。


更多高级特性:

1、luat 版本选择

2、debug?不知道是否可行,还需要研究。

上次更新 2021-01-28