« Firefox3をいつもよりちょっと幸せに使う方法 | メイン | 書評:「脳ってすごい!絵で見る脳の科学」 »

AIR:Eclipseでfcsh環境を実装

http://libertatem.org/2008/06/aireclipsefcsh.html

はじめに

今回は、Eclipseをより使いやすくするために、fcsh環境をAntに組み込むことはできないかな、と模索してみました。

結論から言うと出来ませんでした。そこで環境を2つEclipse上に混在させることで落ち着かせることにしました。

fcshについては、もう皆さん知られていると思いますが、一度コンパイルしたものをメモリ上に保存することにより、以後のコンパイルを1/100ぐらいの速さで実行できます。ですので些細な変更を含めたときは、こちらを使うことで作業時間の待ちを大幅に短縮できます。なお、fcshはFlex3SDKには、最初から含まれています。

fcshを用いずに、Antのみでコンパイルしたい場合はこちらの、「AIR:Eclipseでmxmlをコンパイラできる環境を一から実装」に公開しています。

Antにfcshが組み込めない理由

Antはコンパイルの時に走らせて、コンパイル終了とともに開放されます。Antは実行時にfcshを呼び出すことは出来るのですが、コンパイラ終了によってfcshも同時に開放されてしまい、結局メモリ上にデータが残りません。詳しいところは違うと思いますが、大体これであっていると思います。

Eclopseでのfcsh環境実装方法

「実行」>「外部ツール」>「外部ツールダイアログを開く」
ツールバー上の、「実行」>「外部ツール」>「外部ツールダイアログを開く」を選択します。

外部ツール左、プログラム
表示されたウィンドウの左側のプログラムをダブルクリックします。

window概観
表示された「新規作成(1)」を選択し、左のタブがメインを選択していることを確認してください。

名称変更
「ロケーション」には、fcsh.exeまでを示す必要があります。flex3sdkにはデフォルトで入っています。ですから、僕の場合は

C:\flex3sdk\bin\fcsh.exe

です。下の「作業ディレクトリ」は好きなところでいいです。僕の場合は、HelloWorldのサンプルアプリケーションの中に指定しました。ですので、

${workspace_loc:/helloworld/src}

となります。これらで設定は終わりですので、後は区別のつきやすいように、「新規作成(1)」を「fcsh-AIR」にリネームします。そして「適用」を選び、「閉じる」でこのウィンドウを終了させます。

実行は外部ツール呼び出し
実行の際は、ツールバー上の「実行」から選択しても、二段目のショートカットから実行からでも、好きなほうからでかまいません。

mxmlc ファイル名
実行すると、コンソールウィンドウで作業を行うこととなります。デフォルトでは下部のウィンドウがそれに当たるはずです。

(fcsh)の後にコンパイルのコマンドを打ち込むことで動作します。先ほどお話したHelloWorldのアプリケーションをコンパイルする場合は、

mxmlc helloworld.mxml

このときコンパイルするmxmlのファイル名の大文字小文字を一致させてください。

compile 番号
一度目のコンパイルで、ターゲットIDの番号が表示されます。初回は「1」、以後値が大きくなっていきます。今後同じファイルをコンパイルするときは、表示されたIDが「1」であるなら、以下のように打ち込みます。

compile 1

先ほどのファイルに変更がない場合は、コンパイルはスキップします。

fcshを終了したい場合は、コマンドで「quit」と打ち込むか、Eclipse上のUIの停止ボタンを押してください。

トラックバック

このエントリーのトラックバックURL:
http://libertatem.org/mt/mt-tb.cgi/77

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年6月21日 11:04に投稿されたエントリーのページです。

ひとつ前の投稿は「Firefox3をいつもよりちょっと幸せに使う方法」です。

次の投稿は「書評:「脳ってすごい!絵で見る脳の科学」」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.