当前位置:网站首页>饥荒联机版Mod开发——配置代码环境(二)
饥荒联机版Mod开发——配置代码环境(二)
2022-08-02 14:12:00 【夏湾】
饥荒联机版Mod开发——配置代码环境(二)
前言
回想起我刚写饥荒代码的时候,用的还是Notepad……后面改用了Notepad++有了参数高亮,但是没有官方的代码提示,调用API基本上都是在文件直接Copy。有时手敲代码,进饥荒就莫名其妙报错/崩溃。那段日子大部分时间都在重启游戏和找代码语法错误……直到某一天我摸索着使用了VS Code,官方代码提示/跳转,全局代码搜索,代码格式化,git管理,直接芜湖起飞。
下载VS Code和Lua插件
VS Code
https://code.visualstudio.com/Download
下载安装好后,点击左边的扩展(Ctrl+Shift+X)
输入lua,选择对应插件并安装(Lua插件比较多,基本上都能实现想要的功能)
同时,汉化也可以装上。
然后点击Lua控件的设置(齿轮),
格式化相关
排列 table 中元素(按Shift+Alt+F格式化代码)
代码检查(不关的话mod代码基本都是波浪)
建立工作区
首先来到饥荒目录Don’t Starve Together\data\databundles(wg的是饥荒联机版)下把scripts.zip解压出来(例如:F:\scripts)。之后打开VS Code,点击 文件->打开文件夹 ,打开scripts文件夹,如果出现这个提示,点是
下一步,点击 文件->将文件夹添加到工作区,添加 Don’t Starve Together\mods 。随便打开个mod的modmain,把随便放到函数上看是否有提示,按Ctrl+点击,看能否跳转代码。如果成功,那就可以点击 文件->将工作区另存为 把它存起来,方便下次打开。
以上基本的环境就配好了,下面是进阶技巧
Git和GitHub(可选)
这是为了管理文件,如果对此不熟悉的可以去看其他详细教程。
不过在填链接的时候推荐是ssl(网速快),而不是https。格式如下
[email protected]:UserName/XXX.git
创建文本文件 .gitignore 来避免上传多余的东西。
我习惯把用一个仓库存多个mod,所以我把仓库放在了mods文件夹下,并忽略上传多余的文件
# 忽略名称中开头为workshop的文件夹
workshop*/
dedicated_server_mods_setup_rail.lua
dedicated_server_mods_setup.lua
modsettings.lua
排除多余文件
同时,在mods文件夹下建立 .vscode 文件夹,并在里面创建 settings.json。来排除搜索,文件列表。
{
"search.exclude": {
"*workshop*" : true
},
"files.exclude": {
"workshop*" : true,
"**/.git": true,
"*.gitignore" : true,
"dedicated_server_mods_setup_rail.lua" : true,
"dedicated_server_mods_setup.lua" : true,
"modsettings.lua" : true,
".vscode" : true
}
}
效果如下(跳过git那步的应该不会亮)
删除scripts里多余文件
在VS Code的全局搜索中,经常搜到下面这些多余的文件,所以最好把它们删了。
- languages里非lua文件

- speech_xxx 角色说话列表

VS Code快捷键
按F1,去看官方的介绍
下面是我常用的VS Code快捷键
F1:有时不记得快捷键了,按F1搜以下就好
Ctrl + P:跳转文件
Ctrl + F :搜索
Ctrl + Shift + F :全局搜索
Shift + Alt + ↑或↓:复制粘贴当前行
Alt + ↑或↓:移动当前行
Ctrl + 点击函数:跳转到文件

边栏推荐
- 剑指offer:反转链表
- Software Testing Basics (Back)
- STM32LL library - USART interrupt to receive variable length information
- Yolov5 official code reading - prior to transmission
- Exotic curiosity-a solution looking - bit operations
- STM32LL library use - SPI communication
- GMP scheduling model of golang
- 软件测试基础知识(背)
- Mysql lock
- golang之GMP调度模型
猜你喜欢
随机推荐
What should I do if Windows 10 cannot connect to the printer?Solutions for not using the printer
4. Publish Posts, Comment on Posts
Use libcurl to upload the image of Opencv Mat to the file server, based on two methods of post request and ftp protocol
学习笔记(01):activiti6.0从入门到精通-工作流的介绍以及插件的安装
奇技淫巧-位运算
Redis common interview questions
lua编程
剑指offer:反转链表
shader入门精要1
Doubled and sparse tables
Happy, 9/28 scene collection
MATLAB绘图函数plot详解
二叉排序树与 set、map
LeetCode 2344. 使数组可以被整除的最少删除次数 最大公约数
Mysql之MVCC
【STM32学习1】基础知识与概念明晰
Masters and Masters
2. Log out, log in state examination, verification code
快速排序
第三十三章:图的基本概念与性质









