是否有用于 Haxe 代码的代码格式化工具?

Is there a code formatter tool for Haxe code?

有没有Haxe代码格式化工具,美化代码?

或者,如果有针对其他语言制作的,但效果很好,也可以接受。

我找到了 astyle

在 c# 模式下,它也适用于 haxe。

命令行示例:

astyle --mode=cs -f -U -Y -o -xe -xg -xL -S -t -xj -xt1 -xW -z2 *.hx

注意:-p 弄乱了 regex literal 和宏 (@:annotation)

vscode 编辑器中设置格式:

安装扩展:Astyle.
编辑 settings.json(一般 vscode 用户偏好)

"astyle.haxe.enable": true,
"astyle.cmd_options": [ "--mode=cs", "-f", "-U", "-Y", "-o", "-xe", "-xg", "-xL", "-S", "-t", "-xj", "-xt1", "-xW", "-z2" ],

现在,编辑扩展文件以包含 'haxe'。
打开文件: ~/.vscode-insiders/extensions/chiehyu.vscode-astyle-0.4.0

第 111 行列出语言,添加 'haxe',因此它显示为: ["c", "cpp", "objective-c", "csharp", "java", "haxe"]

下一步:禁用扩展,重启,再次启用。
从上述语言之一打开文件,并将其格式化 (ctrl shift I).

这现在也应该注册 haxe 文件。

格式化现在应该适用于使用相同快捷方式的 *.hx 个文件。

现在有一个名为 haxe-formatter 的 Haxe 专用代码格式化程序。与 astyle 相比,它实际上正确地理解了所有特定于 Haxe 的结构,包括最新的 Haxe 4 语法和条件编译。您可以从 Haxelib 安装它并从命令行重新格式化您的代码:

haxelib install formatter
haxelib run formatter -s <source-directory>

它也集成到 VSCode out of the box 的 Haxe 扩展中:

一个非常方便的使用方法是在您的设置中启用 "format on save" 和 "format on paste",因此您的代码总是格式正确:

"[haxe]": {
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true
}

当然,您也可以手动调用Format Document命令(Shift+Alt+F).