工人与资源 Mod 制作工具
《工人与资源:苏维埃共和国》(Workers & Resources: Soviet Republic)的 Mod 制作工具箱:
分成不同的模块,每个模块就是一个工具,模块之间互不依赖。装上之后,你用得到的只是你需要的那个模块。
| 模块 |
负责 |
状态 |
| ① Pyrois 脚本 |
游戏脚本文件的语法高亮、代码片段、API 补全、悬停文档、定义跳转、大纲 |
已实现 |
| ② BTF 文件 |
本地化文本(.btf)的对照工作台(*.btf 的默认编辑器):搜索、多语言按 id 对照、改译文、缺的条目直接补、结构校验、导出 JSON / CSV |
已实现 |
框架能容纳任意多个模块。
关于这个项目
本插件包含大量 vibecoding 的产物。很遗憾,本人的 JavaScript 能力有限,
没能亲手打造它。欢迎大家一起参与优化,也欢迎补充文档。
想帮忙的话看 CONTRIBUTING.md。
模块 ①:Pyrois 脚本
游戏里的场景脚本、工坊脚本都是 Pyrois 写的,过去只有官方附带的一个 Notepad++ 用户自定义语言
(media_soviet/scripts/notepad++pyrois.xml)。本插件把它搬进 VS Code,并且接上了完整 API 清单。
数据来源
补全与文档使用的数据来自游戏目录里的
media_soviet/scripts/SOVIETInstructions.txt(指令、结构体、结构体方法、常量、脚本函数),
对应的是提取时那个游戏版本;
文件类型识别
这个游戏的文件没有独占后缀:
| 类型 |
后缀 |
问题 |
| 脚本 |
.txt |
和普通文本文件同形 |
| 配置 |
.ini |
和普通 ini 同形,而且同名不同义script.ini 这类文件名在游戏里到处都是 |
所以本插件不靠后缀判类型,靠「路径 + 内容」。 打开文件时会读开头若干行判定,
置信度够高才自动切换语言,并在状态栏提示。目前只有 Pyrois 脚本参与判定,
ini 配置的识别是规划中的模块。
安全规则:
- 只从通用语言(纯文本 / ini)升级,不覆盖你已经显式指定过的语言
- 开关:设置里搜
wrsr.detect.enable,关掉后回到手动模式
自动识别之外,下面这些后缀与文件名仍会被 VS Code 直接认出:
- 扩展名
.pyrois、.pyroisscript
- 文件名匹配
*.pyrois.txt、*_script.txt、*Script.txt、SOVIETInstructions.txt
已知限制
- 没有写语法检查/编译期诊断(游戏本身在加载脚本时才会报错,且不给出友好信息)
- 说明文字只填了
SOVIETInstructions.txt 里自带注释的那部分,其余符号悬停时只显示签名
模块 ②:BTF 文件
翻译对照工作台:搜索、多语言对照、改译文并保存、校验、导出。
打开方式
双击 / 拖入就行 —— .btf 的默认编辑器就是这个模块
参与
CONTRIBUTING.md 讲了怎么补充 API 说明,不需要会编程。
打包
本仓库自带一个打包脚本用于打包 .vsix:
powershell -ExecutionPolicy Bypass -File tools\pack-vsix.ps1
| |