用Sublime编写Lua脚本

  大家好,我是阿赵。
  现在很多手游项目使用lua作为热更新的代码脚本,我一直很喜欢用Sublime来写lua程序。喜欢使用它的原因是它的轻量化,因为我经常要同时打开多个项目,Unity和VisualStudio这些软件都比较占用电脑的性能,很多时候会莫名的卡死机。而Sublime打开后占用系统资源不多,打开速度比较快,而功能也比较够用。
  使用的版本,建议是Sublime3的最新版,会多了跳转功能和页签滚动。
  这里简单的介绍一下用法:

一、文件夹打开

  通过OpenFolder菜单,可以打开一个文件夹。一般来说,就和VS打开一个项目有点类似,可以在项目内进行类的查找、方法查找、跳转、查看引用等操作。
用Sublime编写Lua脚本_第1张图片

  不过由于打开的文件里面可能会有一些我们不需要的文件,比如Unity引擎自动生成的meta文件,这时候可以设置过滤掉它。
  在菜单找到Settings,然后打开
用Sublime编写Lua脚本_第2张图片

  会看到左边是默认的设置,然后可以在右边添加我们自己的设置。
用Sublime编写Lua脚本_第3张图片

  在左边搜索file_exclude_patterns,会发现原来也有一些过滤的扩展名设置
用Sublime编写Lua脚本_第4张图片

  把他们复制到右边,然后在后面加上”*.meta”
用Sublime编写Lua脚本_第5张图片

{
	"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", ".directory", "desktop.ini", "*.class", "*.psd", "*.db", "*.sublime-workspace","*.meta"],
}

  这样搜索的时候,就不会再匹配到meta文件了。

二、查找和跳转功能

1、查找

  查找功能的用法很简单,如果想在当前的文件里面查找,快捷键就是Ctrl+F。
  如果要在打开的整个文件夹里面查找,快捷键是Ctrl+Shift+F。

2、跳转

  Sublime有很多跳转功能,在Goto菜单栏可以查看得到。
用Sublime编写Lua脚本_第6张图片

  比较常用的是Ctrl+P,可以搜索文件夹里面的文件名
用Sublime编写Lua脚本_第7张图片

  还有Ctrl+R,可以搜索一个代码里面的方法名
用Sublime编写Lua脚本_第8张图片

  或者Ctrl+Shift+R,可以搜索整个文件夹里面所有代码里面的方法名
用Sublime编写Lua脚本_第9张图片

  自Sublime3某个版本开始,支持了代码的跳转,类似于VS那样,在调用方法的地方按F12可以跳转到该方法。还可以把鼠标悬停在方法上,看哪里调用了这个方法。这个功能Sublime2是没有的,如果你在用Sublime也没有发现这个功能,可以用Sublime自带的更新功能,把版本更新到最新就行。
  如果想按着Ctrl键然后鼠标点击方法名来跳转,可以这样做:
  在Preferences菜单下找到Browse Packages:
用Sublime编写Lua脚本_第10张图片

  在打开的目录里面,找到Default.sublime-mousemap文件,如果没有这个文件,就自己新建一个txt文件,然后改成这个名字。
用Sublime编写Lua脚本_第11张图片

  在这个文件里面输入以下内容:

Default.sublime-mousemap
[
  {
    "button": "button2",
    "count": 1,
    "modifiers": ["ctrl"],
    "command": "jump_back"
  },
  {
    "button": "button3",
    "count": 1,
    "modifiers": ["ctrl"],
    "command": "jump_forward"
  },
  {
    "button": "button1",
    "count": 1,
    "modifiers": ["ctrl"],
    "press_command": "drag_select",
    "command": "goto_definition"
  }
]

  这里的button1是鼠标左键,button2是鼠标右键,button是鼠标中键。
  我这里实现的功能是,按着ctrl键再按鼠标左键,就执行了goto_definition操作,也就是相当于F12。然后加多一个press_command用于drag_select操作,也就是拖动选择文字。如果不加这个,按着ctrl的时候就不能框选文字了。
  然后按着ctrl键再按鼠标右键,是执行了jump_back操作,意思是跳到上一个操作的位置。
  按着ctrl键再按鼠标中键,是执行了jump_forward操作,意思是跳到下一个操作的位置。
  这样设置了之后,就可以通过鼠标来执行跳转,不需要按F12跳方法,也不需要用默认的Alt+减号键来跳转上一个操作了。

三、Lua预编译

  用Sublime来写lua,可以通过预编译功能来检查语法错误:
  比如我这个代码里面写少了一个end,就会提示某个类的哪一行,因为什么原因而报错

在这里插入图片描述

  想使用这个功能,电脑上面先装一个Lua环境,我这里装了一个不是最新的版本:
用Sublime编写Lua脚本_第12张图片
  装好之后,在cmd命令行控制台输入lua,应该可以看到lua版本
用Sublime编写Lua脚本_第13张图片
  如果不行,就设置一下环境变量path,加入lua的安装路径。
  然后回到Sublime,在Tools/BulidSystem里面找到Lua:
用Sublime编写Lua脚本_第14张图片

  再到想检查的lua文件,按Ctrl+B,就能预编译了。
  如果在BuildSystem里面没有找到Lua,也可以自己新建一个:选择New Build System
用Sublime编写Lua脚本_第15张图片

  然后在新建的文件里面输入

{
"cmd": ["lua", "$file"], 
"file_regex": "^(?:lua:)?[\t ](...*?):([0-9]*):?([0-9]*)",  
"selector": "source.lua"  
}

  最后保存成MyLua.sublime-build
用Sublime编写Lua脚本_第16张图片

  这时候就可以看到刚才新建的MyLua可以选择了
用Sublime编写Lua脚本_第17张图片

  再次尝试Ctrl+B,如果有错误,就会得到提示,如果没有错误,就能看到Finished时间

在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(程序基础,sublime,text,lua,编辑器)