最近 Haxe という言語と HaxeFlixel というライブラリを触り始めました
HaxeFlixel には SublimeText でのプロジェクトテンプレートが存在しますが、
残念ながら Atom にはテンプレートはありません。
しかし、調べてみると別に対応テンプレートが無くても開発はできるようです。
ということで Atom 用の開発環境構築を行ってみました。
導入(Haxe関連)
まずはこちらを見ながら(というか、詳しい日本語情報は今のところここくらいしかわからなかったのです…圧倒的感謝)
- Haxeのインストール
- Limeのインストール
- OpenFLのインストール
- HaxeFlixelのインストール
を行います。
HaxeFlixel インストール時に
[0] Sublime Text
[1] Flash Develop
[2] Intellij Idea
[3] None
Choose your default IDE.
こういうのが出てきますが、こちらは 3 を選んでください。
別にどれ選んでても Atom 上で動かないということは無いと思いますが、不要なファイルが鎮座することになります。
インストールしたツールの確認は忘れずに。
終わったらテンプレートを使ってプロジェクト作成を行います。
flixel tpl -n "Hello World"
こんな感じ。
そこまでやったら、次は Atom 側の環境を整えます。
導入(Atom)関連
まず以下のパッケージをインストールします。
- linter
- language-haxe
- autocomplete-plus
- (環境によってはエラー吐く? その場合は Disable にするか アンインストールしちゃいましょう 無くても補完自体は効きます)
上記パッケージは atom-haxe パッケージを使うために必要になります。
終わったら atom-haxe (haxe)パッケージをインストール
パッケージインストール後、
テンプレートから生成したプロジェクトを Atom に放り込みます。
Tree View に
assets
source
Project.xml
みたいに出てきたら次へ進みます。
lime に Project 情報を認識させる
Project.xml を開きます。
Project.xml を開いたままの状態でCtrl+Shift+P
でコマンドパレットを開いて
Lime: Set lime File
を選択
lime パッケージのログに
lime info updated for [ファイルパス]
のように出てきたら成功
ビルドターゲット設定
コマンドパレットを開いて
Lime: Set Target
を選択してターゲットを選択 お好みで。
ビルド
コマンドパレットを開いて
Haxe: Build
を選択
Haxe のログウィンドウが展開された後ビルドが走るのでしばらく待ちます。
成功したら(ターゲットによるかもですが)アプリが起動するはずです。
他
後はゴリゴリコード書いていけばOKです。
補完も利くはずですし Haxe の Server が動いていればファイルセーブ時にエラーチェックもしてくれます。
プロジェクト単位で設定保管とかしたかったら project-manager
パッケージなんかを使うといいのかも?
筆者も入れてますが、まだちゃんと設定に関して確認してません(ーωー)
いくつか謎挙動も
導入時に発生したよくわからん挙動メモ
- 定義ジャンプした時に何故かファイル名が全部小文字の状態で開かれる
- EventDispatcher.hx -> eventdispatcher.hx みたいな感じ
- その状態のファイルを編集して保存すると元ファイルにきちんと変更はかかる
- 小文字ファイルの方はlintしてくれないのかエラーが出てこない
(大文字がちゃんとある状態のファイルの方を見に行くとエラー表示される)
- 定義ジャンプ/エラーチェックがうまく効かなくなることがある
-
Haxe: Stop Server
Haxe: Reset Server
してみるとか、ファイル開き直したり時間置いてみるとかするといいかも
-
まとめ
結構いい感じに動くようには見えるものの何かと Atom 自体が死んだり補完が急に効かなくなったりするのでなんとも微妙なところ
といってもちゃんとセーブ時のエラーチェックが効いたり補完がSublimeTextに比べるとかなり見やすいのでリッチさを求める人とか
そもそも Atom しか使ってないよ!って人ならアリかなという印象でした
しかしそれでも1個目の謎挙動はちょっと困るのでなんとかならないものか…