用Sublime编写Lua脚本

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

一、文件夹打开

  通过OpenFolder菜单,可以打开一个文件夹。一般来说,就和VS打开一个项目有点类似,可以在项目内进行类的查找、方法查找、跳转、查看引用等操作。
在这里插入图片描述

  不过由于打开的文件里面可能会有一些我们不需要的文件,比如Unity引擎自动生成的meta文件,这时候可以设置过滤掉它。
  在菜单找到Settings,然后打开
在这里插入图片描述

  会看到左边是默认的设置,然后可以在右边添加我们自己的设置。
在这里插入图片描述

  在左边搜索file_exclude_patterns,会发现原来也有一些过滤的扩展名设置
在这里插入图片描述

  把他们复制到右边,然后在后面加上”*.meta”
在这里插入图片描述

{"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菜单栏可以查看得到。
在这里插入图片描述

  比较常用的是Ctrl+P,可以搜索文件夹里面的文件名
在这里插入图片描述

  还有Ctrl+R,可以搜索一个代码里面的方法名
在这里插入图片描述

  或者Ctrl+Shift+R,可以搜索整个文件夹里面所有代码里面的方法名
在这里插入图片描述

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

  在打开的目录里面,找到Default.sublime-mousemap文件,如果没有这个文件,就自己新建一个txt文件,然后改成这个名字。
在这里插入图片描述

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

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环境,我这里装了一个不是最新的版本:
在这里插入图片描述
  装好之后,在cmd命令行控制台输入lua,应该可以看到lua版本
在这里插入图片描述
  如果不行,就设置一下环境变量path,加入lua的安装路径。
  然后回到Sublime,在Tools/BulidSystem里面找到Lua:
在这里插入图片描述

  再到想检查的lua文件,按Ctrl+B,就能预编译了。
  如果在BuildSystem里面没有找到Lua,也可以自己新建一个:选择New Build System
在这里插入图片描述

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

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

  最后保存成MyLua.sublime-build
在这里插入图片描述

  这时候就可以看到刚才新建的MyLua可以选择了
在这里插入图片描述

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/180506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python武器库开发-前端篇之JavaScript基础语法(三十五)

前端篇之JavaScript基础语法(三十五) JavaScript字符串及常用方法 JavaScript中的字符串是一个包含零个或多个字符的序列,可以包含字母、数字、符号和空格等。以下是一些JavaScript中常用的字符串方法: length:返回字符串的长度&#xff0…

Nodejs+vue基于微信小程序的高校餐厅食品留样管理系统uniapp

任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于nodejs小程序技术设计并实现了小程序。采用B/S结构,…

父进程隐藏——ConsoleApplication903项目

首先我发现用calc来做进程隐藏实验是失败的,父进程一直都是svhost.exe 那么我用我自己生成的cs木马beacon903.exe试试 试试explorer.exe 再试试cmd.exe 可以看到成功变成cmd.exe 可以看到我们可以通过这种方式虚假父进程 以上我们是直接获得的pid,那…

微信小程序+中草药分类+爬虫+keras

目录 1 介绍2 数据爬虫3 模型训练和验证3.1 模型训练3.2 导入一张图片进行验证 4 后台flask部署5 微信小程序 1 介绍 本项目使用深度学习模型,训练5种中药材数据集,然后将其集成到微信小程序,通过微信小程序拍照,将图片传输给后端…

MIT_线性代数笔记:第 08 讲 求解 Ax=b:可解性与结构

目录 可解的条件 Solvability conditions on b特解 A particular solution通解 Complete solution与零空间进行线性组合 Combined with nullspace 秩 Rank 可解的条件 Solvability conditions on b 矩阵 A 的第三行为第一行和第二行的加和,因此 Axb 中 b 的第 3 个分…

git常规使用方法,常规命令

Git是一种分布式版本控制系统,它可以记录软件的历史版本,并提供了多人协作开发、版本回退等功能。以下是Git的基本使用方法: 安装Git:下载安装包并进行安装,安装完成后在命令行中输入 git --version 进行验证。 初始化…

海翔云平台 getylist_login.do SQL 注入漏洞复现

0x01 产品简介 海翔云平台一站式整体解决方案提供商,业务涵盖 批发、连锁、零售行业ERP解决方案、wms仓储解决方案、电商、外勤、移动终端(PDA、APP、小程序)解决方案。 0x02 漏洞概述 海翔云平台getylist_login.do接口处存在SQL注入漏洞&am…

Android 13 - Media框架(14)- OpenMax(四)

这一节继续了解 openmax 目录下的内容。 1、OMX_Core.h 1.1、OMX_BUFFERHEADERTYPE 这是一个比较关键的结构体,上层ACodec/MediaCodec用到的 buffer id、OMXNode 与 OMX component 进行 buffer 传递都是通过该结构体完成,这里将会初步了解结构体中的部…

SVG图片选择库组件封装及使用

需求 需求: 在项目中通常需要做菜单管理,想要让左侧菜单好看一点,一般都会选择添加图标,需要自定义选择喜欢的图标,得提供一个有选择项的图标库 延伸需求:在项目中通常可能有好几个图标选择库,可…

CentOS 系列:CentOS 7文件系统的组成

CentOS 7文件系统的组成 文件系统的组成Linux的一些重要目录文件和目录名主机名文件权限绝对路径和相对路径绝对路径相对路径 文件系统的组成 一切从根开始 文件路径中只有第一个/是根目录,后面的/是分隔符 文件名区分大小写 除斜线(/)以外,其他的字符…

ruoyi-plus使用Statistic统计组件升级element-plus

原本使用的就是gitee上lionli的ruoyi-plus版本的代码。但是在使用过程中作首页数据看板时想使用elementui的Statistic统计组件。结果在浏览器控制台报错找不到组件el-statistic 于是查看elementui的历史版本,发现是在新版中才有这个组件,旧版本是没这个组…

第六届传智杯第四题(abb)

描述 leafee 最近爱上了 abb 型语句,比如“叠词词”、“恶心心” leafee 拿到了一个只含有小写字母的字符串,她想知道有多少个 "abb" 型的子序列? 定义: abb 型字符串满足以下条件: 字符串长度为 3 。字符…

高防CDN可以起到什么作用?

高防CDN相对于普通的CDN加速,除了具备基础的加速功效外,高防CDN在每一节点上均有相应配置的防御功效,不仅具备了隐藏源站不被攻击的优势,也具备了访问加速,多节点防御的功效。随着互联网的不断发展,网络上的…

网络安全技术

网络安全概述 网络安全基础要素 机密性,完整性,可用性,可控性,可审查性 常见网络攻击和特点 1.网络监听 使用sniffer软件或主机接口设置成混杂模式,监听网络中的报文 使用加密技术防范 2.重放攻击 攻击者发送一…

【运维】hive 高可用详解: Hive MetaStore HA、hive server HA原理详解;hive高可用实现

文章目录 一. hive高可用原理说明1. Hive MetaStore HA2. hive server HA 二. hive高可用实现1. 配置2. beeline链接测试3. zookeeper相关操作 一. hive高可用原理说明 1. Hive MetaStore HA Hive元数据存储在MetaStore中,包括表的定义、分区、表的属性等信息。 hi…

软件工程 课堂测验 选择填空

系统流程图用图形符号表示系统中各个元素,表达了系统中各个元素之间的 信息流动 喷泉模型是一种以用户需求为动力,以 对象 为驱动的模型。 软件生存周期中最长的是 维护 阶段。 变换流的DFD由三部分组成,不属于其中一部分的是 事务中心 软…

前端面试灵魂提问

1.自我介绍 2.在实习中,你负责那一模块 3.any与unknow的异同 相同点:any和unkonwn 可以接受任何值 不同点:any会丢掉类型限制,可以用any 类型的变量随意做任何事情。unknown 变量会强制执行类型检查,所以在使用一个…

Python 多层级导包

假如我的项目层级结构如下,project文件夹为项目根路径: project/ ├── first/ │ ├── __init__.py │ ├── second/ │ │ ├── __init__.py │ │ └── second_test.py │ └── first_test.py └── main.py假设项目入口文…

工具及方法 - 如何阅读epub文件:使用Adobe Digital Editions

EPUB(Electronic Publication的缩写,电子出版)是一种电子图书标准,由国际数字出版论坛(IDPF)提出;其中包括3种文件格式标准(文件的扩展名为.epub),这个格式已…

【模电】晶闸管

晶闸管 结构和等效模型工作原理晶闸管的伏安特性晶闸管的主要参数额定正向平均电流 I F I\tiny F IF维持电流 I H I\tiny H IH触发电压 U G U\tiny G UG和触发电流 I G I\tiny G IG正向重复峰值电压 U D R M U\tiny DRM UDRM反向重复峰值电压 U R R M U\tiny RRM URRM 晶体闸流…