Lua IDE 选择

在图像修复的研究中,发现许多的实现代码用的是Torch,自然也就是要用Lua了。实际上去看了看,发现Lua还是小众语言,连IDE都没个强力的。

首先是ZeroBrane Studio,该项目在Github也有一千多个星。Linux上运行起来发现该IDE还是挺简陋的,毕竟也才十几M大小。高亮和双击选择都不够好,更要命的是输入字符都成问题(无法输入,使用Ubuntu 18.04 Intelligent Pinyin,我知道许多Linux程序有输入问题,比如Sublime在Ubuntu下的中文输入问题)。放一个使用图吧:

Lua IDE 选择_第1张图片

接着是EmmyLua的IntelliJ插件,可以对Lua进行较好的支持,该项目在Github上有四百多个星(看来Lua真的小众,这样的插件也才这么少的星)。下载了之后我并没有使用,因为这个是插件形式,还是对JetBrains的产品,而我当前使用Python的IDE就是Pycharm,所以就决定用Pycharm的插件来搞作为Lua IDE了。

Pycharm在File-Settings中找到Plugins,搜索lua,如下:

Lua IDE 选择_第2张图片

安装时会提示这个其实是第三方插件,不是JetBrains提供的。接着要重启下Pycharm,然后打开一个Lua项目,选到Lua脚本目录即可。看一下效果:

Lua IDE 选择_第3张图片

由于我已经习惯了JetBrains全家桶,原来的Android Studio,到现在用的Pycharm,所以看到这样的Lua IDE就很高兴了。下面尝试运行下,需要先配置Run/Debug:

Lua IDE 选择_第4张图片

说明下情况,我的Torch是用官方文档指导编译安装的,我也一直用th命令执行lua脚本。配置了该项后,Pycharm运行lua脚本已经没有问题:

Lua IDE 选择_第5张图片

然后到调试步骤出了问题,我需要单步调试功能,但是报错“tput: No value for $TERM and no -T specified”,也就是上图中的那句,只不过运行的时候无影响。

另外发现该插件并不能自动补齐,且上面的错误暂时不太好搜索。

下面接着,使用了EmmyLua插件,配置中“Program”项设置为th,报错“module 'socket' not found”。我尝试“luarocks install luasocket --only-server=http://luarocks.org/repositories/rocks-scm”,安装成功后却继续报错“torch/install/lib/lua/5.1/socket/core.so: undefined symbol: luaL_setfuncs”。这里已经不好搜索了,所以就按配置项中的提示,用mobdebug来试试。下载了mobdebug,设置中下拉列表并无法选择。

更新:

luarocks remove luasocket

删除以上命令安装的luasocket,使用:

luarocks install luasocket

安装luasocket,此时EmmyLua可以运行了,但是无法输出:

Lua IDE 选择_第6张图片

现在好歹能高亮和自动补齐,PyCharm中运行和调试lua就先不折腾了。

更新:

选择了eclipse ldt,不过这个好像挺老的。我的ubuntu 18.04上面是java10,所以这个包解压缩运行报错:

javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20170421-1418

问题很宽泛,找到一个关于java9的,说要对ini添加:

--add-modules=ALL-SYSTEM

放一个ldt配置文件截图吧:

Lua IDE 选择_第7张图片

总算是启动了,然而自动补全都没有啊:

Lua IDE 选择_第8张图片

很少用eclipse,对lua的运行和调试配置又要研究,还没多少资料,心累。

你可能感兴趣的:(Lua,lua,ide,emmylua,zerobrane,studio,pycharm)