Haxe

Haxe統合開発環境 IntelliJ IDEAからVisualStudio Codeに変えた話

IntelliJ IDEAでHaxe開発をしていた

満足はしていましたが、細かい挙動で気になっていました。

  • switch caseでの対応不十分
    • switch{ case A(value):return value; } この場合にvalueが未定義と判定される
  • Haxe4.0.0で導入される is演算子(型判別)に未対応
  • Compiler Servicesに未対応

いつか対応してくれるだろうと、
https://github.com/HaxeFoundation/intellij-haxe
を眺めてはまだか、という日々を送っていました。

HaxeのトッププレイヤーはVisualStudio Codeしかつかっていない?

Haxe summit 2017がアムステルダムで開かれました。
http://summit.haxe.org/
そこで登壇され、デモされる方々のIDEはVisualStudio Code(以降VSCode)ばかりでした。
Haxedevelop(http://haxedevelop.org/ )も無かったように思います。

VSCode 使ってみよう

vshaxeプラグインを導入、使ってみました。
結論から言うともっと早く使ってみればよかったです。

  • switch case → OK
  • is演算子 → OK
  • Compiler Service → OK
    • IntelliJ IDEAでは教えてくれなかった情報がバシバシでました
    • 未使用変数を教えてくれました(ほぼリアルタイムで)
    • 推奨の方法を教えてくれました  例:typdedef HasNew{function new();}ではなくConstructibleをつかえ、といった情報

VSCodeでできなかったこと

  • Importが自動的に追加されない
  • ローカル変数名でのリネームしかできない
    • Class名のリネーム、パッケージ移動はIntelliJ IDEAでも完全対応ではなく、手直しが必要でした
  • コードフォーマッターはどこでしょうか https://github.com/vshaxe/haxe-formatter vshaxeから外れたようですが・・

結論

VSCodeでコーディング、コミット前にIntelliJ IDEAでフォーマットしてます。