用VSCode写RPG Maker的Ruby脚本

用VSCode写RPG Maker的Ruby脚本

本站内容版权属于本人。转载须告知本人,写明出处,并在文首提供指向本站对应文章的链接。
本文链接:用VSCode写RPG Maker的Ruby脚本
前言

最近突然起了兴趣,想要用RPG Maker做点什么。虽然用RPG Maker做基本的RPG很方便,但如果不修改脚本,能做的事情很有限。而如果想修改脚本,内置的脚本编辑器基本就不能好好使用——程序员本能的Ctrl+S无效,Esc无提示地不保存退出,没有语法提示。我想,内心不够强大的人是无法驾驭得了它的。我觉得我不算是内心强大的人,在最初就使用了Notepad++这样的文本编辑器来写脚本。但随着脚本规模扩大,仅用文本编辑器写脚本非常力不从心。这时,我就盯上了VSCode,这款介于文本编辑器和IDE之间的软件。

目的和思路

基本的编辑功能VSCode都已经有了,之后我想要的功能是语法提示,比如类中包含的方法名,方法的参数列表等等。所以只要安装相应的扩展就可以了。起初,我想当然地用了Ruby扩展,然而发现这个扩展主打的是调试Ruby代码。所以最后我选用了Solargraph扩展,这是一个Ruby的语言服务,专门用来完成诸如语法分析,提示等功能的。

安装和配置

安装扩展没什么说的,直接在VSCode里搜索就有Ruby Solargraph扩展。

Solargraph需要Ruby语言环境,所以上Ruby官网下载安装即可,要记得把Ruby的可执行目录放入环境变量PATH中,方便在命令行里使用。

使用命令gem install solargraph安装Solargraph服务。在Windows下,如果出现错误提示需要安装msys的话,就按照提示下的命令先安装msys。

安装好之后,重启VSCode,打开一个Ruby文件,如果一切正常,说明已经可以使用了。而我这里出现了一个错误:

Unable to load the EventMachine C extension

在控制台下运行以下语句安装另一版本的eventmachine,并卸载旧版本的eventmachine可以解决:

会弹出选项问你要卸载哪一个版本,这里选择卸载:

eventmachine-1.2.7-x64-mingw32

结合RPGMaker

现在已经可以在VSCode里写Ruby了,如果想看到RPGMaker里的类,可以将RPGMaker的脚本全部复制过来。不一定在同一个文件里,Solargraph会读取打开目录下的全部脚本。我本想找一个导出全部脚本的方法,但是没有找到,好在也不多,我就一个个复制出来,安排成下面的目录结构:

但是RPGMaker的代码不全在ScriptManager下,也有一些内置的类,在RPGMaker的帮助文档下(按F1可以出来)可以看到它的定义。这些类可以自己写一个文件定义,在写脚本时就会有提示了。比如我写的Input的定义(注释已经被省略):

另一个问题是一些全局变量不能被提示出来,同样需要一个文件来帮助找到它们的类型:

当以上这些都完成后,就可以在VSCode里任意地写RPGMaker的脚本了,这体验比自带编辑器的体验不知好到哪里去了:

总结

我要是再有钱一点,就去买RPGMaker MV了,写什么Ruby。还是Javascript更熟悉一些。还有就是VSCode真好用。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据