EmacsでのActionscript開発環境
普段はFlexBuilderを使っています。Eclipseベースであり、総本山adobeが開発していることもあり、非常に便利で高機能ですしとても助かるのですが、当然Eclipseなので重いです。それでも最近のPCスペックなら大したことないんですけど、ちょっと出先で遊びたい修正したいとか、ノート片手に外で〜、とかの場合大変です。
私は外出する場合はNetbook(AspireOne)を利用していますが、こいつにFlexBuilderはちと荷が重い。さすがに動作が緩慢すぎてストレス溜まります。じゃあエディタは何を使うか…というところで結構悩みました。
ぱっと思いついたのはこのあたりです。e-textEditorとintypeはOSXのtextmateクローンといってもいい、snippetや拡張性が強烈な新進気鋭のエディタです。intypeはしばらく開発が止まっているのか、まだアルファ版ですが、e-textEditorはなかなかの完成度です。しかもかなり使いやすい。さすがtextmateを習ってるだけあって、開発用エディタとしては相当なものです。しかも本家textmateのbundleをそのまま利用できるというツワモノです。しかし本家のクローンだからといって日本語対応の弱さまでクローニングしなくても(笑)
FlashDevelopはフリーのIDEで、FlexBuilderを使わないならこれ一択と言っても過言ではないです。ぶっちゃけフリーなんてありえないぐらいの完成度で、シェアでも余裕で購入してるでしょう。私も一時期使ってました。が、いまはIDEではなくエディタでいいので、ここまでのソフトはとりあえず対象外。なにせ画面が狭いので・・・
となると、結局Emacs?(笑)もともとEmacs使ってて、いろいろ環境を用意したけど、やっぱり原点回帰というわけですか。まあ使い慣れている分、安心かな。
- 必要なもの
- NTEmacs
- actionscript-mode
- yasnippet
最低限、これだけあれば十分です。ほかにもrascatなども欲しいですが、とりあえず後回し。
NTEmacs
WindowsでEmacsというとMeadowがありますが、「かなり重くなってしまった&余計なパッケージが多い」という個人的印象からシンプルなNTEmacsをお勧めします。
ここからバイナリパッケージが落とせます。適当に展開して適当にディレクトリに置きます。
actionscript-mode
まず下の3つを揃えます。actionscript-modeは古いcc-modeが必要でしたが、最新版ではそんなこともないみたいです(未検証)。とりあえず念のため古いcc-modeもゲットしておきます。
actionscript-mode.el
as-config.el
cc-mode 5.28
load-pathが通ったところに保存します。as-config.elの先頭にある(require as-profiler)はコメントアウトしておきます。
yasnippet
簡単かつ拡張性が高いことで最近流行り(なのか?)のyasnippetです。これは便利ですよ。
yasnippetには簡単にinstallできるbundle版と定義ファイルを別分けにしたfull版があります。お手軽なのはbundle版なのですが、定義がlispで1ファイル内に直書きしてあるので、拡張しにくい&デフォルトでactionscript-mode対応が無い。したがってここはfull版を利用します。
じゃあyasnippetのactionscript-modeはどこよ?って話ですが、かの有名なSpark Projectで定義ファイルが公開されていますので、それをcheckoutして使います。
svn export http://www.libspark.org/svn/yasnippet/text-mode/actionscript-mode/
あとは.emacs.elで設定してやればOKです。参考までに私の.emacs.elです。上記パッケージは.emacs.dにぶちこんであります。
;;; ロードパス設定 (add-to-list 'load-path "~/.emacs.d") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Action Script ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; via http://blog.pettomato.com/content/site-lisp/.emacs (defvar running-on-x (eq window-system 'x)) (autoload 'actionscript-mode "actionscript-mode" "Major mode for actionscript." t) ;; Activate actionscript-mode for any files ending in .as (add-to-list 'auto-mode-alist '("\\.as$" . actionscript-mode)) ;; Load our actionscript-mode extensions. (eval-after-load "actionscript-mode" '(load "as-config")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; yasnippet ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-to-list 'load-path "~/.emacs.d/plugins/yasnippet") (require 'yasnippet) (yas/initialize) (yas/load-directory "~/.emacs.d/plugins/yasnippet/snippets")