用Sublime编写Lua脚本

news2024/11/26 1:54:43

  大家好,我是阿赵。
  现在很多手游项目使用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.coloradmin.cn/o/1267568.html

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

相关文章

Pycharm修改文件默认打开方式 + CSV Editor插件使用

1、File —> Settings —> Editor —> File Types 然后将*csv添加到最上面 在plugins中下载插件,CSV Editor 备注:不在上一步的“File Types”中将*.csv设置为CSV格式,插件是不起作用的 就可以使用了

微服务学习|初识elasticsearch、操作索引库、文档操作、RestClient操作索引库、RestClient操作文档

初识elasticsearch 什么是elasticsearch? elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack (ELK)。被广泛应用在日志数据分析、实…

图书管理系统源码,图书管理系统开发,图书借阅系统源码配置和运行图解源码已附加

目录 配置简介和软件条件 数据库附件配置 vs应用程序web.config配置数据库链接字符串 数据库文件脚本代码 配置简介和软件条件 所需要的软件是Vs2017以上数据库是Sqlserver2012以上,如果数据库附件不了可以使用数据库脚本附件数据库脚本会在文章末尾写出来。可以…

TableAgent:首个国产可私有部署的企业级Code Interpreter

TableAgent公测地址:https://tableagent.DataCanvas.com 数字化时代,数据分析的重要性犹如空气般无处不在。商业数据分析是数字化管理、智能决策的基础,同时数据分析又是一个专业性极强的工作,描述性分析、诊断性分析、预测性分…

【经验贴】技术转项目经理,利用项目管理工具快速适应!

之前分享了我在项目管理过程中的一些实战经验,大家纷纷表示感同身受。其中,有一部分技术转项目经理岗位的小伙伴吐槽现在加的班比以前更多、工作更难开展了,想问问如何能快速适应新的工作岗位。 我们公司这几年随着业务的不断增加&#xff0c…

docker搭建rabbit集群

1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…

Testlink 1.9.20+phpstudy_pro安装遇到的问题

phpstudy_pro启动了Apache2.4.39和Mysql5.7.26,php的版本是7.3.4zai。 安装Testlink 1.9.19时没有数据库的问题,安装Testlink 1.9.20时遇到了数据库问题,如下图所示: 网上搜索“Failed!Mysql Database cannnot be used”,给出的…

Adobe Illustrator绘图解决卡顿问题

最近在用AI做矢量图,但是遇到了一个很难搞的问题,当我们需要分辨率较高的图片的时候,Python用Matplotlib生成的pdf时dpi参数会设置为600及以上,但是样子的话就造成了pdf文件过大以及AI卡顿,比如,下午生成的…

莱佛士学生成功入围2023Harper‘s BAZAAR NewGen Award六强

Harpers BAZAAR NewGen Award(《时尚芭莎》新一代奖)旨在为了培养、发掘和支持更多新加坡地区的新兴设计师,为最后一年的学生设计师提供一个在时尚领域学习的宝贵平台。 目前,已经揭晓比赛前六强名单,莱佛士设计学院服…

Veras:Revit AI渲染插件

Veras 是一款基于生成式AI 的可视化工具,可以使用自然语言生成3D渲染效果,兼容Revit、Rhino 和 SketchUp。Veras for Revit工具使用 Revit 模型内部的 3D 视图。 1、快速上手 Veras使用很简单,你只需要输入文本提示并在不同选项中进行选择即…

【从浅识到熟知Linux】基本指令之mkdir

🎈归属专栏:从浅学到熟知Linux 🚗个人主页:Jammingpro 🐟每日一句:加油努力,这次写完真的要去干饭了! 文章前言:本文介绍mkdir指令用法并给出示例和截图。 文章目录 基本…

视频剪辑技巧:批量剪辑新思路,AI智剪来助阵

在视频制作过程中,剪辑是一项至关重要的任务。然而,对于许多创作者来说,批量剪辑视频是一项耗时且繁琐的工作。传统的批量剪辑方法通常要创作者逐个打开视频文件,进行剪辑、调整色彩等操作。这种方法不仅效率低下,而且…

微信怎么复制转发好友朋友圈

在社交媒体时代,朋友圈已成为人们交流、分享和获取信息的重要平台。许多人都希望能够在繁忙的生活中,更便捷地分享和转发好友的朋友圈内容。 一键转发好友朋友圈功能究竟有哪些好处呢? 节省时间和精力 保持信息的即时性和新鲜度 好友的朋友…

select选择框里填充图片

遇到一个需求&#xff0c;选择下拉框选取图标&#xff0c;填充到框里 1、效果展示 2、代码 <el-form-item label"工种图标" class"Form_icon Form_label"><el-select ref"select" :value"formLabelAlign.icon" placeholder&…

软件设计师——程序设计语言基础(一)

&#x1f4d1;前言 本文主要是【程序设计语言基础】——程序设计语言基础的相关题目&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#…

java开发之个微群聊管理

简要描述&#xff1a; 群管理操作 请求URL&#xff1a; http://域名/operateChatRoom 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明w…

JavaScript 的初步学习下篇

函数 语法格式 创建函数/函数声明/函数定义 function 函数名(形参列表) {函数体return 返回值; }函数调用 函数名(实参列表) // 不考虑返回值 返回值 函数名(实参列表) // 考虑返回值 注: 函数定义并不会执行函数体内容, 必须要调用才会执行. 调用几次就会执行几次. js 中…

VBA技术资料MF88:测试Excel文件名是否有效

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…

在Windows 10中至少有7种方法进入安全模式,但不一定是按F8键

几十年来,安全模式一直用于加载操作系统,尽管功能有所减少,目的是通过仅加载操作系统的核心组件来排除与PC相关的问题并执行诊断。避开某些系统文件的处理和设备驱动程序的加载,以及停止特定服务,提供了一个最小化的表面,使回滚可能导致系统不稳定或以其他方式阻止计算机…

Java高级技术(注解)

一&#xff0c;注解 二&#xff0c;案例 三&#xff0c;注解原理 四&#xff0c;元注解 五&#xff0c;案例 六&#xff0c;解析注解 七&#xff0c;案例