Lua代码提示和方法跳转
前言
当在一个大型工程中编写大量的lua脚本时,代码提示和方法跳转等功能很实用,据我所了解的目前除LuaStudio之外,似乎还没有一个很好的编辑器。但今天讲述的是Idea +EmmyLua插件 达到很强大的功能。
我的使用环境:
idea 2017.1.2 社区免费版
EmmyLua在线文档: https://emmylua.github.io/
原理分析
EmmyLua利用Idea的注解功能
EmmyLua注解功能只是单纯的辅助编辑器代码提示以及其它功能,和Lua代码的实际运行逻辑没有任何关系,因为它们就是普通的Lua注释
使用说明
为每个Lua脚本写上注解(如果你希望方法参数有类型提示,那为方法也写上注解),在编写过程中,就能够像写C#的class和method一样,提供代码提示,代码跳转。
在Idea中按Alt +Enter 选择Create xx Annotation 或者Create LuaDoc ,会自动填充模版。
更多丰富的注解类型,见EmmyLua的文档;https://emmylua.github.io/annotation.html
Idea创建Lua文件的模版
table类形注解
---
--- Created by zhaoqingqing. 569032731@qq.com
--- DateTime: ${DATE}
---
---@type ${NAME}
local ${NAME} = {}
return ${NAME}
class类型注解
---
--- Created by zhaoqingqing. 569032731@qq.com
--- DateTime: ${DATE}
---
---@type ${NAME}
local ${NAME} = class("${NAME}")
function ${NAME}:ctor()
end
return ${NAME}
Lua代码提示和方法跳转的更多相关文章
- 【HANA系列】SAP HANA Studio代码提示设置方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA Studio代 ...
- android studio 改变代码提示的方法
移通152余继彪 在android studio中 默认代码提示的功能是ctrl+空格,这样的提示会和输入法造成冲突,所以要改变 改变的方法就是file—seting——Keymap然后搜索basic ...
- 解决xcode6_beta没有代码提示的方法
在beta版本的xcode6中我们会发现代码提示不怎么好使,但是看一些老外的视频,他们的代码提示却又是赶赶的.这是为什么呢?其实解决办法也很简单.就是在项目中不出现中文字符就好了.有的同学说,我没用中 ...
- Netbeans取消CTRL+\才能代码提示的方法
更好的方法: ------------------------------------------------------------ 边打字边按CTRL+\进行代码提示的方法我TM也是醉了 简而言之 ...
- 关于WebStorm-React-Native 代码提示安装方法
声明 本方法 为网上好心人提供 我提供整理 插件名称:Webstrom live template 安装方法一:1.打开终端输入 git clone https://github.com/virto ...
- 在Lua中提示UnityEngine.dll的方法
我的环境 安装最新的 EmmyLua-1.2.1及以上版本 IDEA 2017.1.2 及以上版本 关于EmmlyLua的介绍可查看我之前的文章:Lua代码提示和方法跳转 说明:本文方法摘自 Emmy ...
- 使用IDEA进行Lua代码调试、自动提示、代码跳转、智能重命名
试了几个Lua IDE后,Lua Studio.Lua Glider.VS+babelua插件.Sublime都不是特别满意.直到发现了国人自创的另一个神奇工具:基于IDEA的EmmyLua插件.该插 ...
- Notepad++强大的代码补全和代码提示功能的方法
最近写项目,经常要打开一些文件去修改一些代码段.那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时间去打开软件.当然,后来我也考虑到使用记事本,但总感觉不是很爽. ...
- Eclipse增强代码提示插件Code Recommenders安装,顺便说说Eclipse插件安装方法
1.为什么用Code Recommenders 在用过Intelij Idea后,发现它的自动代码提示非常智能,可以敲关键字就能提示,但是因为公司用的是Eclipse, 所以想找有没有这个插件能增强代 ...
随机推荐
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
/// <summary> /// 本类实现阿拉伯数字到大写中文的转换 /// 该类没有对非法数字进行判别,请事先自己判断数字是否合法 /// </summary& ...
- Python之子进程subprocess模块
http://www.cnblogs.com/vamei/archive/2012/09/23/2698014.html http://blog.csdn.net/jgood/article/deta ...
- 实战项目——mysql主从架构的实现
一主一从 1.1 环境准备: centos系统服务器2台. 一台用户做Mysql主服务器, 一台用于做Mysql从服务器, 配置好yum源. 防火墙关闭. 各节点时钟服务同步. 各节点之间可以通过主机 ...
- Qt----拖拽
最近比较忙,今天此才有时间来继续学习下Qt.Qt的拖拽可以按字面意思分为拖和拽两部分.一般来说我们常见的拖拽分别由两个程序合作完成.例如我们经常把桌面的文件拖拽进其他目录: 这个拖拽在Qt中由两方合作 ...
- python 开源全文检索工具 Whoosh
About Whoosh Whoosh is a fast, featureful full-text indexing and searching library implemented in pu ...
- Golang 任务队列策略 -- 读《JOB QUEUES IN GO》
Golang 在异步处理上有着上佳的表现.因为 goroutines 和 channels 是非常容易使用且有效的异步处理手段.下面我们一起来看一看 Golang 的简易任务队列 一种"非任 ...
- #postman接口测试系列:基本操作总结
最近项目需要接口测试,所以选择了不少工具对比,最终决定使用postman进行接口测试,这个工具目前使用比较简单,但是有点还是比较多的,如下: 方便切换不同的环境进行接口测试工作,而不用修改变量或代码 ...
- ip地址与整数相互转换
一.将ip地址转成long数值 将IP地址转化成整数的方法如下: 1.通过String的split方法按.分隔得到4个长度的数组 2.通过左移位操作(<<)给每一段的数字加权,第一段的权为 ...
- 网络分析法(Analytic Network Process,ANP)
什么是网络分析法 网络分析法(ANP)是美国匹兹堡大学的T.L.Saaty教授于1996年提出的一种适应非独立的递阶层次结构的决策方法,它是在层次分析法(Analytic Hierarchy Proc ...
- 用echartsjs 实现散点图与table表格双向交互,以及实现echarts取自于table数据,和自定义echarts提示内容
本人研究echarts已经有一段时间了,今天就分享几个关于echarts的小技巧.虽然看起来简单,但做起来却很繁琐,不过实用性倒是很好. 在一个大的页面中,左边为table表格,右边为echarts的 ...