引言
最近学习Lua,在解释器中运行代码很是不习惯,加上自己偏好使用Sublime,于是将Lua在Sublime中进行相关配置,将过程整理备忘并推荐相关插件。
Lua环境配置
Lua下载
下载链接 http://www.lua.org/download.html
按照下图所示下载得到Lua的压缩包
添加环境变量
解压后把解压目录添加到环境变量(解压后由3个文件,把文件所在文件夹添加到path目录下就好了,如下图,我是放在了E盘的配置文件目录)
在cmd中输入lua回车若显示版本号即配置正确(不行可以尝试重启或者注销电脑再在cmd中看看)
在Sublime中配置Lua
Lua集成
打开sublime 选择tools-->Build System-->New Build System 在新出现的文件中输入如下内容
1 2 3 4 5 6 |
{ "cmd": ["lua", "$file"], "file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)", "selector": "source.lua" "path":"/usr/bin:/bin:/usr/sbin:/usr/local/bin" } |
然后 ctrl+s到默认保存路径就好了,比如命名为Lua(lua.sublime-build)
这样以后新建 .lua文件然后 ctrl+shift+b或者 f7运行就ok了
插件推荐
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
-- 语法检测插件 sublimelinter sublimelinter-lua sublimelinter-luacheck --跨文件代码提示补全 allautocomplete --代码提示与高亮 LuaSmartTips Starbound Lua --[[ sublime自带快捷键 ctrl+shift+r 工程内定义与实现跳转 ctrl+r 文件内任意函数跳转~ ]] |
Lua静态语法检测&辅助功能
luacheck静态检查
下载地址 https://github.com/mpeterv/luacheck
下载后运行cmd cd到luacheck的所在目录 输入如下命令运行
1 2 3 4 5 |
lua install.lua E:\MyProfile\Lua\luacheck\ //其中E:\MyProfile\Lua\luacheck\为luacheck的目录 //注:若lua未添加环境变量,可手动给出full path运行即 E:\MyProfile\Lua\lua-5.3.4_Win64_bin\lua.exe install.lua E:\MyProfile\Lua\luacheck\ |
这一步的目的在于,根据使用者系统的相关目录重新生成 luacheck.bat文件
然后将luacheck的 bin(即 luacheck.bat所在)目录添加到系统环境变量中的 path目录,如图2最后一条记录
luacheck作用解释
比如你手贱的写了如下代码,在鼠标移动至第一个变量位置(点击),在下方的状态栏,当光标移动到第一行会提示你 [该变量没有使用],移动到第二行就会提示[变量没有定义],这样就可以有效避免出现鬼畜的代码了
语法检测自定义忽略规则
配置完成后会发现在lua中输入多余空格空行会提示警告可谓烦人
打开sublime 菜单栏 --package setting -- SublimeLinter -- setting userd
编辑打开文件复制下列代码替换即可
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
{ "user": { "debug": false, "delay": 0.25, "error_color": "D02000", "gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme", "gutter_theme_excludes": [], "lint_mode": "background", "linters": { "lua": { "@disable": false, "args": [], "excludes": [] }, "luacheck": { "@disable": false, "args": [], "excludes": [], "ignore_match": [ ".*trailing whitespace.*", ".*only whitespace", ".*line is too long", ".*inconsistent indentation" ] } }, "mark_style": "outline", "no_column_highlights_line": false, "passive_warnings": false, "paths": { "linux": [], "osx": [], "windows": [] }, "python_paths": { "linux": [], "osx": [], "windows": [] }, "rc_search_limit": 3, "shell_timeout": 10, "show_errors_on_save": false, "show_marks_in_minimap": true, "syntax_map": { "html (django)": "html", "html (rails)": "html", "html 5": "html", "javascript (babel)": "javascript", "magicpython": "python", "php": "html", "python django": "python", "pythonimproved": "python" }, "tooltip_fontsize": "1rem", "tooltip_theme": "Packages/SublimeLinter/tooltip-themes/Default/Default.tooltip-theme", "tooltip_theme_excludes": [], "tooltips": false, "warning_color": "DDB700", "wrap_find": true } } |
其实主要就是添加其中 luacheck的 ignore_match 这样语法检测就会忽略这些无关紧要的警高了
结语
以上就是Lua在sublime的一些集成和配置已经相关插件推荐,这样就可以在subllime中书写Lua了。
另外这儿的的lua代码在sublime的控制台中运行,无法使用 io.read()之类进行输入,如若可以更改配置文件调用终端输入,欢迎留言评论