使用IDEA进行Lua代码调试、自动提示、代码跳转、智能重命名

试了几个Lua IDE后,Lua Studio、Lua Glider、VS+babelua插件、Sublime都不是特别满意。直到发现了国人自创的另一个神奇工具:基于IDEA的EmmyLua插件。该插件功能非常完整:断点调试、自动提示、代码跳转、智能重命名等,可以极大地提高Lua编程的速度。界面也比较舒服。

安装步骤
下载、安装并破解IntelliJ IDEA(我的版本是目前最新的2017.3.4)
安装EmmyLua插件 
建议直接在IDEA工具内搜索插件安装(当然也可以下载插件到硬盘安装)。 
(1)在启动界面点击Configure-Plugins: 
 
(2)搜索EmmyLua,然后点Search in repositories: 

(3)点击右边的Install绿色按钮。安装完需要重启IDEA。
配置SDK,默认是Path路径需要有一个Lua解释器(lua.exe)。你可以在创建项目时指定其他目录。
配置其他事项。 
(1)将*.txt识别成lua文件: 

(2)忽略代码提示大小写差别: 

创建项目
创建普通Lua项目(不依赖其他程序,如游戏引擎): 
New-Project,然后next,填项目名、路径,点击finish。 
在项目视图的src文件夹New一个Lua文件,可以自己print()一下,Run一下,看看有没有输出,有的话,说明SDK配置正确。 

创建Unity引擎Lua项目 
New-Modules from existing sources(注意不要选错,这里创建的是Modules,不是Project,否则等下导入不了api自动提示的library)。【这里有一个IDE Bug:第一次创建Modules,会在文件夹里生成一个.iml文件。但是如果文件夹里本来就有.iml文件,以后再点Modules from existing sources就会无法生成Modules,也就无法导入library。这个Bug我折腾了一晚上才发现的!必须删掉.iml文件,才可以重新创建Modules】 
然后选择Unity文件夹的Lua访问根目录,我选的是Resources文件夹,因为可以从Resources作为根目录搜索lua文件。 
然后我们测试一下断点调试功能。打开其中一个Lua文件,设置断点: 

然后Run-Attach To Local Process: 
 
选择Unity进程,触发断点,说明能断点调试: 


Unity API代码提示
现在Unity API代码提示是没有的,因为我们还没导入API描述的library。这个library根据你选择的Lua中间件不同而不同,所以建议是自己导出。我的Lua中间件是SLua。这里以SLua为例。 
1.打开SLua官方自带的Unity项目,在Slua-Editor下面,新建一个SLuaApiExporter.cs脚本: 
 
2.输入如下代码:官方QQ群里面会有


3.在Unity编辑器中点击SLua-导出EmmyLuaApi 


4.看到Unity工程项目会多出一个EmmyApi文件夹: 


5.将其打包成zip文件(注意不能是rar、7z其它压缩格式!) 


6.在IDEA中点击File-Project Structure,Modules-选择我们的Modules-Dependencies,+号-Library-Lua Zip Library,选择我们刚才打包的zip文件。然后一直OK保存就行了。 


7.测试Unity API提示功能: 


成功!

其它功能
代码跳转: 


智能重命名: 


后续
本教程就到这里结束了,但是该插件还有许多有用的功能,可以自行探索,也可以加入EmmyLua的官方QQ群:29850775。群里面有许多教程,本文所用的API导出代码也是从群文件里拿出来改的。

github: https://github.com/tangzx/IntelliJ-EmmyLua 
oschina: http://git.oschina.net/tangzx/IntelliJ-Lua 
IDEA Plugins : https://plugins.jetbrains.com/plugin/9768-emmylua

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值