#IntelliJ IDEAでHaxe開発をしていた
満足はしていましたが、細かい挙動で気になっていました。
- switch caseでの対応不十分
- switch{ case A(value):return value; } この場合にvalueが未定義と判定される
- Haxe4.0.0で導入される is演算子(型判別)に未対応
- Compiler Servicesに未対応
- コンパイラ自身が、コードからIDE向け情報を出力してくれる
- https://haxe.org/manual/cr-completion-overview.html
いつか対応してくれるだろうと、
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でフォーマットしてます。