0x00 前言
rAthena 的 NPC 脚本是一种专门为 Ragnarok Online 游戏设计的脚本语言,虽然其语法类似于 C 语言,但由于缺乏合适的 IDE 环境,许多开发者只能在纯文本文件中编写脚本,体验不佳。
本文将介绍如何在 vscode 中设置 rAthena 的 NPC 脚本语法高亮,以提升编写效率和代码可读性。
0x10 安装 vscode
Visual Studio Code (VSCode) 是由微软开发的一款免费、开源的代码编辑器。与传统的文本编辑器(如 Notepad)相比,VSCode 提供了更为强大的功能,如代码高亮、智能感知、调试支持、插件扩展等,使其成为开发者的理想工具。
安装方法很简单,访问 Visual Studio Code 官网 下载安装即可。
安装完成后,我们随便打开一个 NPC 脚本,由于还没有语法解析,因此是看不到高亮的:
0x20 安装语法高亮插件
为了高亮 NPC 脚本语法,我们需要在 vscode 中安装一个插件 vsce-rathena-language-support:
0x21 在线安装
点击 vscode 左侧的插件 Extensions,会打开插件市场 MarketPlace,输入 rathena 搜索插件安装即可:
但如果你是国内网络,很可能会搜索失败:
此时需要离线安装 vsce-rathena-language-support 插件。
0x22 离线安装
由于 vsce-rathena-language-support 的开发者并未发布安装包,这里我直接编译好了:
- 下载 rathena-language-support-1.1.2.vsix 到本地
- 点击 vscode 左侧的插件 Extensions,会打开插件市场 MarketPlace
- 点击插件市场右上角的
...
,在弹出的菜单中点击Install From VSIX...
- 选择刚刚下载的 rathena-language-support-1.1.2.vsix 即可自动安装:
0x30 高亮设置
安装插件后,NPC 脚本依然没有高亮。
vsce-rathena-language-support 工程的使用说明是: 需要在 NPC 脚本的文件内容开头中、添加 //===== rAthena Script
或 //!rathena
标识。
尝试添加 //!rathena
后,确实语法高亮了(如果依然没有高亮,需要重启 vscode):
但是每个 NPC 脚本都需要添加特定的头,当脚本太多时就太麻烦了。
由于 *.txt
一般只有 NPC 脚本开发在使用,我们可以在 vscode 中批量设置 *.txt
的语法解析引擎为 rathena
:
- 点击左上角的文件 File
->
首选项 Preferences->
设置Settings
- 在设置搜索框中输入
Associations
,定位到Files: Associations
配置项 - 点击
Add Item
,在key
中输入*.txt
、在value
中输入rathena
(大小写敏感)
保存设置后,所有 *.txt
文件默认都会使用 rathena
引擎做语法解析。
此后不需要再加 //===== rAthena Script
或 //!rathena
标识头,甚至 API 文档 script_commands.txt
的语法都成功高亮标识了:
0x40 后记:高亮插件编译
如果有同学希望自己编译 rathena-language-support-1.1.2.vsix ,可以参考本节:
0x41 安装 Node.js 和 npm
- 访问 Node.js 官网 下载并安装
- 安装完成后,验证版本号,确认安装成功:
node -v
npm -v
0x42 安装 VSCE 工具
VSCE 是一个用于打包和发布 vscode 扩展的工具。
通过 npm 安装 VSCE:
npm install -g @vscode/vsce
0x43 打包插件
- 克隆 rAthena 语法高亮插件的源码库:
git clone https://github.com/rathena/vsce-rathena-language-support.git
cd vsce-rathena-language-support
- 在项目根目录中安装依赖:
npm install
- 使用 VSCE 打包项目,生成 .vsix 文件:
vsce package
- 打包完成后,rathena-language-support-1.1.2.vsix 会生成在项目根目录