EmacsでのActionscript開発環境

普段はFlexBuilderを使っています。Eclipseベースであり、総本山adobeが開発していることもあり、非常に便利で高機能ですしとても助かるのですが、当然Eclipseなので重いです。それでも最近のPCスペックなら大したことないんですけど、ちょっと出先で遊びたい修正したいとか、ノート片手に外で〜、とかの場合大変です。


私は外出する場合はNetbook(AspireOne)を利用していますが、こいつにFlexBuilderはちと荷が重い。さすがに動作が緩慢すぎてストレス溜まります。じゃあエディタは何を使うか…というところで結構悩みました。

ぱっと思いついたのはこのあたりです。e-textEditorとintypeはOSXtextmateクローンといってもいい、snippetや拡張性が強烈な新進気鋭のエディタです。intypeはしばらく開発が止まっているのか、まだアルファ版ですが、e-textEditorはなかなかの完成度です。しかもかなり使いやすい。さすがtextmateを習ってるだけあって、開発用エディタとしては相当なものです。しかも本家textmateのbundleをそのまま利用できるというツワモノです。しかし本家のクローンだからといって日本語対応の弱さまでクローニングしなくても(笑)


FlashDevelopはフリーのIDEで、FlexBuilderを使わないならこれ一択と言っても過言ではないです。ぶっちゃけフリーなんてありえないぐらいの完成度で、シェアでも余裕で購入してるでしょう。私も一時期使ってました。が、いまはIDEではなくエディタでいいので、ここまでのソフトはとりあえず対象外。なにせ画面が狭いので・・・


となると、結局Emacs?(笑)もともとEmacs使ってて、いろいろ環境を用意したけど、やっぱり原点回帰というわけですか。まあ使い慣れている分、安心かな。

最低限、これだけあれば十分です。ほかにもrascatなども欲しいですが、とりあえず後回し。


NTEmacs
WindowsEmacsというとMeadowがありますが、「かなり重くなってしまった&余計なパッケージが多い」という個人的印象からシンプルなNTEmacsをお勧めします。

NTEmacs Project

ここからバイナリパッケージが落とせます。適当に展開して適当にディレクトリに置きます。


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 project

yasnippetには簡単にinstallできるbundle版と定義ファイルを別分けにしたfull版があります。お手軽なのはbundle版なのですが、定義がlispで1ファイル内に直書きしてあるので、拡張しにくい&デフォルトでactionscript-mode対応が無い。したがってここはfull版を利用します。

じゃあyasnippetactionscript-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")

続・EmacsでのActionscript開発環境 - Last Verseに続く