ETERNITY DESIGN BLOG

TextMateとActionScript3.tmbundle

ActionScript用のエディタと言えばFlashDevelopやFDTがあります。
このどちらもかなり便利な機能を搭載していますが、FDのほうはWindows用、FDTはEclipseのプラグインなので、Macでも利用できますがそのインターフェースにはMacらしいところがないのが残念です。(あと、価格が高い)
Mac用エディタとしてはTextMate+ActionScript3.tmbundleもあり、これもさすがに上記2つのソフトには敵いませんが便利な機能を搭載しています。
その一部を紹介します。

メソッド・プロパティなどの補完
tm01
”addE”と入力後、escキーの入力、一発で”addEventListener”と補完が行われます。
メソッド・プロパティだけでなくクラスも補完対象になり、同じファイル内の文字列も補完対象となります。
自分で宣言したメソッドやプロパティも補完対象になるということです。
ただし、対象のインスタンスのクラスまで見ているわけではなく、単純に文字列としてバンドルに登録されているものが補完対象になっており(と、上記の対象)、また各種ライブラリの中身まで見ているわけではないので、それも補完対象にはなっていません。
importの挿入 その1
TextMateではFlashDevelopのように自動でimportが挿入されることはありませんが、それなりに楽になる手段が用意されています。

tm02

上の画像のように最初に、importしたいクラスを入力します。
その後、クラス名の直後にカーソルがある状態で”option”+”esc”キーを押すことで自動でimport文が入力されます。
BitmapDataのように複数の候補がある場合はリストが表示され、その中から選択します。

このimportは、プロジェクトに登録してあるクラスファイルも対象になるので、各種ライブラリなどもすぐにimport文が記述できます。
ただし、Progresionのようにclassフォルダに格納されていたりすると、そのclassフォルダもimportに入ってしまいます。

importの挿入 その2
上記よりさらに簡単にimportを挿入する方法があります。
importの挿入 その2
画像のようにコード中のクラスを記述した直後に、”cmd”+”shift”+”i”でimportがコード上部に挿入されます。
その1ではimportを記述すべき箇所までカーソルを移動してからimportしたクラスを記述しコマンドを実行する必要がありましたが、その2では、記述を続けながら挿入することが可能です。
import挿入後にカーソルが移動することもないので、続けてコードを記述していくことができます。

また、”control”+”shift”+”i”で使用していないimportを一括で削除することも可能です。
ただし、ATOKを利用している場合、ATOKのショートカットと重複するので機能しません。

パラメータの追加
tm03

画像のようにdrawなどのメソッドを入力した直後に、”option”+”esc”でパラメータの追加が行われます。
ただし、この機能を最初に使うときに下のようなウィンドウが表示されます。
tm04
これは、この機能がまだテスト段階であることを示していて、ウィンドウ内の”here”をクリックすることで有効化されます。
テスト段階だからなのか、サポートしているメソッドはそれほど多くありません。

Tabによるスニペット
文字入力後+”Tab”キーにはかなりいろいろと登録されており、class+”Tab”ではクラスに関する記述が一気に挿入され、
private+”Tab”ではfunction・get・set・varなどの複数の候補が表示され選択後に記述が挿入されます。
これら以外にも多くのスニペットが登録されています。
最後に
TextMate最大の弱点はやはりデフォルトで日本語の入力に対応していない点でしょう。
プラグインで解決できるとはいえ見やすいものではないし、半角全角のスペースが区別できないという欠点もあります。
また、期待される2.0もリリースが大幅に遅れていて、AS3bundle自体もしばらく更新が途絶えているのも気になる点ではあります。
ですが、Mac用エディタとしては他に比べるべきソフトがないほどの機能を持っているのも間違いありません。
エディタで迷っているというMacユーザーは是非一度お試しすることをおすすめします。

ABOUT ME

名古屋を中心に、フリーランスでホームページ制作してます。 デザイン・サイト制作・WordPress案件・Flash制作、JavaScript(jQuery)と幅広く対応可能です。 案件のご依頼・ご相談はCONTACTよりご連絡ください。

CATEGORIES

ARCHIVES

TAGS