当前位置:网站首页>饥荒联机版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 + 点击函数:跳转到文件

边栏推荐
猜你喜欢

What are IPV4 and IPV6?

3. User upload avatar

Lightweight AlphaPose

2.登录退出,登录状态检查,验证码

Installation and configuration of Spark and related ecological components - quick recall
![[System Design and Implementation] Flink-based distracted driving prediction and data analysis system](/img/f0/23ac631b6eb9b794224d8ae78e6523.png)
[System Design and Implementation] Flink-based distracted driving prediction and data analysis system

mysql的索引结构为什么选用B+树?

【STM32学习1】基础知识与概念明晰

动态规划理论篇

剑指offer:合并两个排序的链表
随机推荐
Detailed explanation of Golang garbage collection mechanism
cmake configure libtorch error Failed to compute shorthash for libnvrtc.so
Cmd Markdown 公式指导手册
十天学习Unity3D脚本(一)九个回调
Unity-3D数学
mysql的索引结构为什么选用B+树?
Unity-Post Processing
剑指offer:合并两个排序的链表
永久更改pip源
C#高级教程
第三十二章:二叉树的存储与遍历
第二十七章:时间复杂度与优化
Unity-PlayMaker
LeetCode 2354. 优质数对的数目 二进制01表示和集合之间的转换
Unity-Ads广告插件
推开机电的大门《电路》(二):功率计算与判断
第二十九章:树的基本概念和性质
动态数组-vector
STM32LL库使用——SPI通信
总结计算机网络超全面试题