project.godot 文件的文件夹)。GDScript 的代码智能和调试都来自 Godot 编辑器本身:语言服务器和调试适配器运行在编辑器内部,OpenIDEA 只负责连接它们。除了 Godot,不需要另外安装任何东西。
支持的文件
Godot .NET 项目中的 C# 脚本和普通 C# 代码一样处理,见 C# 与 .NET。
查找 Godot 可执行文件
OpenIDEA 按以下顺序查找 Godot:- 在 设置 › 语言和框架 › 语言服务器 中为 godot 条目选择的可执行文件(保存在设置的
tools.godot中)。 - 搜索路径中名为
godot、godot4、godot-4、Godot、godot-mono、godot4-mono的程序。 - 常见安装位置:
- macOS:
/Applications或~/Applications下的Godot.app、Godot_mono.app、Godot 4.app,以及 Steam。 - Windows:Scoop、WinGet、
%LOCALAPPDATA%\Programs\Godot、Program Files\Godot,以及 Steam。 - Linux:Flatpak(
org.godotengine.Godot)、Snap(godot-4、godot),以及 Steam。
- macOS:
代码智能
GDScript 语言服务器位于 Godot 编辑器内部,通过 TCP 提供 LSP。打开.gd 文件时,OpenIDEA 会:
- 如果
127.0.0.1:6005(Godot 默认的语言服务器端口)上有编辑器在监听,就直接连接;否则 - 为项目启动一个无界面编辑器(
godot --headless --editor --path <project> --lsp-port <空闲端口>),等它就绪后再连接。第一次启动需要导入项目,可能比较慢,OpenIDEA 最多等待两分钟。
运行
项目根目录或子目录中的每个project.godot 都会生成一个 Godot Project 运行配置(位于子目录时名为 Godot Project (<folder>))。它在该目录下执行 godot --path .,启动项目的主场景。
要单独运行某个场景,可以在项目视图中右键 .tscn 文件运行它,或打开该文件后使用 运行 › 运行上下文配置(⌃⇧R / Ctrl+Shift+F10),实际执行的是 godot --path . res://<scene>。
也可以在 运行 › 编辑配置… 中添加 Godot 类型的配置,字段如下:
调试
GDScript 调试通过 Godot 编辑器的调试适配器(基于 TCP 的 DAP)进行。- 调试 Godot 配置。 OpenIDEA 先连接
127.0.0.1:6006(Godot 默认的调试适配器端口)上的编辑器;没有的话,就为项目在空闲端口上启动一个无界面编辑器。随后由编辑器按它自己的运行设置播放场景。以这种方式启动的无界面编辑器会随调试会话一起结束。 - 附加到 Godot。 这种配置类型只用于调试,默认主机为
localhost、端口为6006,用来调试 Godot 编辑器正在运行的游戏。先在 Godot 编辑器中打开项目并播放场景(F5 / F6),再启动该配置。端口在 Godot 的 Editor Settings › Network › Debug Adapter 中设置。
Godot 按真实路径匹配脚本。OpenIDEA 在发送断点前会解析项目路径中的符号链接,因此通过符号链接目录(例如 macOS 上的
/tmp)打开的项目也能正常命中断点。从 Godot 中打开脚本
要让 Godot 用 OpenIDEA 打开脚本,在 Godot 的外部编辑器设置(Editor Settings › Text Editor › External)中勾选 Use External Editor,把 Exec Path 设为 OpenIDEA 的可执行文件(macOS 上是OpenIDEA.app/Contents/MacOS/ 中的可执行文件),并把 Exec Flags 设为:
限制
- GDScript 代码智能需要 Godot 4 编辑器,可以是正在运行的,也可以由 IDE 以无界面方式启动。没有 Godot 就没有 GDScript 分析。
- Godot Shader 和资源文件只有语法高亮。
- 调试只能通过编辑器的调试适配器进行,不支持调试导出后的游戏。