跳转到内容

项目结构

启用 Gode 的项目仍然是普通 Godot 项目,只是在 res://addons/gode 安装了 addon。

my_project/
addons/
gode/
binary/
config/
gode.gd
gode.gd.uid
plugin.cfg
runtime/
tsc/
types/
路径 用途
binary/ 运行时 GDExtension manifest、各平台运行时库,以及 binary/editor/ 下的桌面编辑器专用原生库。
config/ tsconfig.jsongode.json 等内置模板。
gode.gd Godot 插件入口。
plugin.cfg Godot 编辑器插件元数据。
runtime/ Godot 侧运行时辅助文件。
tsc/ 内置 TypeScript 编译器。
types/ Godot API 的生成 TypeScript 声明。

native_extensions/paths 只应包含 res://addons/gode/binary/gode.gdextension。启用编辑器插件时,Gode 会把 gode_editor.gdextension 写入本地 .godot/extension_list.cfg 缓存,用于开发期专用原生编辑器 API,同时不会把编辑器扩展写进项目设置或导出包。

文件 是否必需 说明
tsconfig.json 缺失时自动创建 控制 TypeScript 诊断和 emit 策略。
gode.json 只在需要明确导出策略时必需 外部依赖项目导出时可自动创建。
package.json 可选 启用外部依赖项目行为。
Lockfile 使用包时推荐提交 提交所用包管理器的 lockfile。
node_modules/ 已安装依赖快照 通常不进版本控制,但声明依赖后导出前必须存在。

Gode 会写入生成的 TypeScript 输出,供编辑器、运行时加载和导出打包使用。这个位置属于实现细节:

res://.gode/build/typescript/

不要把生成的 JavaScript 挂到场景上,也不要提交生成输出。

提交:

  • 项目 TypeScript 源文件。
  • 团队需要的 addons/gode 发布文件。
  • 生成或自定义后的 tsconfig.json
  • 对导出行为有要求时的 gode.json
  • npm 项目的 package.json 和 lockfile。

忽略:

  • .godot/
  • .gode/
  • 包管理器安装缓存。
  • 构建输出和平台导出产物。