跳转到内容

快速开始 ​

gdfmt 通过命令行格式化 GDScript 文件。可以直接使用默认设置,需要共享项目风格时再提交配置文件。

从源码安装 ​

使用 Rust 1.88 或更高版本。仓库中的 rust-toolchain.toml 固定了开发工具链。

sh
git clone https://github.com/ntnyq/gdfmt.git
cd gdfmt
cargo install --path crates/gdfmt_cli --locked
gdfmt --version

确保 Cargo 的可执行文件目录已加入 PATH。也可以在仓库内通过 cargo run -p gdfmt_cli -- <参数> 直接运行 CLI。

使用 pnpm dlx @gdfmt/gdfmt@next --version 运行 npm 预发布版本,CLI 命令仍为 gdfmt。

格式化项目 ​

在你的 Godot 项目目录中运行:

sh
gdfmt .

默认命令将格式化结果写回原文件,也可以指定单个文件、目录或多个路径:

sh
gdfmt src/player.gd
gdfmt src addons

只选择 .gd 文件,遵循项目忽略文件,并跳过 .git、.godot、node_modules 和 target。详见文件选择。

例如:

gdscript
func run( value : int=1 ): return [value,2] # result

格式化后:

gdscript
func run(value: int = 1):
	return [value, 2] # result

检查或预览差异 ​

sh
gdfmt --check .
gdfmt --diff src/player.gd

两种命令都不修改文件。格式一致时退出码为 0,发现源码错误或格式差异时为 1,配置、参数或 I/O 错误为 2。

只检查语法可运行 gdfmt check . --syntax-only。它使用 gdfmt 的解析器,不能替代 Godot 的项目分析。

共享配置 ​

sh
gdfmt init

这会在当前目录创建 .gdfmtrc.json,已有文件时拒绝覆盖。默认使用 100 列行宽、Tab 缩进、LF 换行和文件末尾换行。

选项、EditorConfig、继承与按路径覆盖见配置说明。运行 gdfmt explain-config src/player.gd 可查看某个文件的实际配置。

接下来 ​

代码基于 MIT 许可发布。Logo:CC BY 4.0。