Godot 新手起步:用 VS Code 和 Codex 扩展开发 2D 游戏

如果你已经熟悉 VS Code,可以不用单独依赖 Codex App。本文整理 Godot 4.x、VS Code、godot-tools、Codex 扩展和 Git 的起步流程,并给出 2D 俯视角射击原型的开发循环。

如果你已经习惯 VS Code,那么学习 Godot 不必绕到另一套工作流里。更顺手的组合是:Godot 编辑器负责场景和节点,VS Code 负责编写 GDScript,Codex 扩展负责分析项目、生成脚本、排错和重构。

这套方式不要求一开始就让 AI 生成完整游戏。更稳的做法是:先在 Godot 里搭好真实节点树,再让 Codex 围绕现有场景写脚本。这样它能看到文件结构,也更不容易猜错节点名和路径。

推荐分工

最适合 VS Code 用户的分工如下:

  • Godot:创建场景、节点、碰撞体、动画和 UI 布局。
  • VS Code:编写和管理 GDScript。
  • Codex:分析项目、生成脚本、排查错误、做小范围重构。
  • Git:每完成一个可运行功能就提交一次。

也就是说,Godot 仍然是项目的主编辑器,VS Code 是代码工作区,Codex 是协作式编程助手。

安装 VS Code 扩展

先在 VS Code 里安装两个扩展:

  1. Codex

OpenAI 官方扩展,可以读取、修改和运行当前项目里的文件。使用 ChatGPT 账号登录即可。

  1. godot-tools

用于 Godot 项目的 GDScript 开发,提供语法高亮、自动补全、跳转到定义、LSP 错误提示,以及从 VS Code 启动和调试 Godot 的能力。

不要只安装普通的 GDScript 高亮扩展,优先使用 godot-tools

让 Godot 使用 VS Code

在 Godot 中打开:

1
2
3
4
编辑器
→ 编辑器设置
→ 文本编辑器
→ 外部

开启:

1
使用外部编辑器

Windows 下执行路径需要指向 code.cmd。可以先在终端运行:

1
where code.cmd

常见结果类似:

1
C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd

执行参数填写:

1
{project} --goto {file}:{line}:{col}

Godot 4.5 之后通常能自动识别这些参数,手动填写也没有问题。

然后继续打开:

1
2
3
4
5
编辑器设置
→ 文本编辑器
→ 行为
→ 文件
→ Auto Reload Scripts on External Change

开启脚本外部修改后自动重新加载。这样在 Godot 里双击脚本时,会直接跳到 VS Code 对应文件和行号。

用 VS Code 打开项目根目录

不要只打开 scripts 文件夹。VS Code 必须打开包含 project.godot 的项目根目录。

推荐目录结构:

1
2
3
4
5
6
7
my_game/
├─ project.godot
├─ AGENTS.md
├─ scenes/
├─ scripts/
├─ assets/
└─ .vscode/

打开方式:

1
2
cd D:\GodotProjects\my_game
code .

然后再打开一次 Godot 项目。

Godot 的语言服务器通常需要当前项目正在 Godot 编辑器中运行。默认 LSP 端口是 6005,DAP 调试端口是 6006。正常开发时建议保持 Godot 编辑器开启,让 VS Code 负责编写代码。

配置 VS Code 调试

在项目中创建:

1
.vscode/launch.json

写入:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "运行 Godot 项目",
            "type": "godot",
            "request": "launch",
            "project": "${workspaceFolder}",
            "debugServer": 6006
        }
    ]
}

之后可以在 VS Code 中按 F5 启动游戏和调试。

如果 F5 找不到 Godot,在 VS Code 设置中搜索:

1
godotTools.editorPath.godot4

填入 Godot 可执行文件路径,例如:

1
D:\Programs\Godot\Godot_v4.7-stable_win64.exe

godot-tools 支持通过这个设置指定 Godot 4 编辑器路径。

建立 AGENTS.md

在项目根目录创建 AGENTS.md,把它作为给 Codex 阅读的项目规则。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Godot Project Instructions

这是一个 Godot 4.x 项目,使用 GDScript。

## 编码规则

- 只使用 Godot 4.x API。
- 不使用 Godot 3.x 旧语法。
- GDScript 尽量使用静态类型。
- 使用 snake_case 命名变量和函数。
- 使用 PascalCase 命名 class_name。
- 节点引用优先使用 @onready- 可配置参数使用 @export- 不随意更改现有节点名称。
- 不创建过度复杂的 Manager 架构。
- 每次只实现一个可独立测试的功能。

## 文件职责

- scenes/ 保存 .tscn 场景。
- scripts/ 保存 .gd 脚本。
- assets/ 保存图片、字体和声音。
- ui/ 保存界面场景和界面脚本。

## 场景修改规则

- 修改 .tscn 前先读取并理解现有节点结构。
- 不猜测节点名称和 NodePath。
- 对复杂场景,优先告诉用户在 Godot 编辑器中手动创建节点。
- 除非任务明确要求,否则不要大范围重写 .tscn 文件。

## 验证规则

完成任务后:

1. 检查 GDScript 语法。
2. 检查资源路径和节点路径。
3. 列出修改的文件。
4. 说明在 Godot 中如何测试。
5. 不声称已经运行成功,除非确实执行过验证。

这个文件的价值很大。它能让 Codex 明白项目边界,减少乱改场景、重写结构或使用旧版 Godot API 的概率。

先初始化 Git

在 VS Code 终端运行:

1
git init

创建 .gitignore

1
2
3
4
5
.godot/
.vscode/*.log
*.tmp
export/
build/

第一次提交:

1
2
git add .
git commit -m "初始化 Godot 项目"

在让 Codex 修改项目之前,先建立 Git 检查点。这样每次试错都能回退,心态会轻很多。

第一个项目建议做 2D

即使你熟悉 VS Code,第一个 Godot 项目仍然建议从 2D 开始。不要从大型 3D 项目、复杂 UI 或完整 RPG 系统起步。

一个适合练手的项目是:

1
2D 俯视角射击原型

最小功能包括:

  • 玩家移动
  • 鼠标瞄准
  • 发射子弹
  • 敌人追踪
  • 碰撞扣血
  • 分数
  • 重新开始

推荐目录:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
my_game/
├─ project.godot
├─ AGENTS.md
├─ scenes/
│  ├─ main.tscn
│  ├─ player.tscn
│  ├─ bullet.tscn
│  └─ enemy.tscn
├─ scripts/
│  ├─ main.gd
│  ├─ player.gd
│  ├─ bullet.gd
│  └─ enemy.gd
├─ ui/
│  └─ hud.tscn
└─ assets/

第一轮给 Codex 的提示词

在 VS Code 的 Codex 面板中,第一轮不要让它直接写代码。先让它读项目、拆任务、确认边界。

可以这样写:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
这是一个新建的 Godot 4.x GDScript 项目。

我要制作一个最小的 2D 俯视角射击游戏。

请先不要修改文件。

先完成以下工作:

1. 阅读 project.godot 和当前目录结构。
2. 判断当前项目是否已经配置入口场景。
3. 设计最小可行版本。
4. 把任务拆成每一步都可以单独运行验证的小任务。
5. 明确哪些节点应该由我在 Godot 编辑器里创建。
6. 明确哪些脚本适合由你编写。
7. 只使用 Godot 4.x API。
8. 不要一次生成完整游戏。
9. 不要直接编写复杂的 .tscn 文件。

等 Codex 分析完,再让它只做第一项:玩家移动。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
现在只实现玩家移动。

场景结构为:

Player:CharacterBody2D
├─ Sprite2D
└─ CollisionShape2D

脚本路径:
scripts/player.gd

要求:

- 使用 Input.get_vector
- 使用 move_and_slide
- 使用静态类型
- 移动速度使用 @export
- 不修改场景节点名称
- 不实现射击、生命值或动画
- 修改后告诉我需要配置哪些 Input Map 动作
- 给出测试步骤

这里的关键是“只做一个功能”。你越早限制范围,Codex 给出的修改越容易验证。

推荐开发循环

每次只做一个功能,按下面的节奏推进:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
在 Godot 中建立节点
在 VS Code 中让 Codex 写脚本
查看 Git diff
按 F5 运行
把完整错误交给 Codex
要求最小修改
运行成功后 Git commit

排错时可以使用这个提示词:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
运行时出现以下错误:

粘贴完整错误信息

请先定位根本原因。

要求:
- 检查实际节点结构和 NodePath;
- 只做最小修改;
- 不重构无关代码;
- 不修改已经正常工作的功能;
- 修改后解释错误为什么发生。

不要只说“报错了”。把完整错误、场景结构、相关脚本路径一起给 Codex,它才更容易定位问题。

Codex 权限建议

刚开始使用 Codex 扩展时,建议使用普通 Agent 模式。

不要一开始就长期使用 Agent Full Access。普通 Agent 模式已经可以读取文件、修改项目并运行允许的命令;Full Access 更适合在你清楚任务边界后临时开启。

起步组合可以固定为:

  • Godot 4.x
  • GDScript
  • VS Code
  • godot-tools
  • Codex
  • Git

不需要先学 C#,也不需要让 Codex 自动生成整个场景。先在 Godot 中把节点树搭出来,再让 Codex 围绕真实节点结构写脚本,成功率最高。

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计