きちんとAdobeにお金を払うと、Flex BuilderというFlexの統合開発環境を手に入れることができますが、とりあえず、Flexを使ってみたいという場合はオープンソースで公開されているFlex SDKを使うのが吉だと思います。まぁ、本気でFlexの開発をするんだったらFlex Builderは必須だと思いますけど。そういえば、Flexの統合開発環境ではFlex Developerというのもあるらしいですけど、Windows向けなのでよく知りません。
で、Flex SDKにはコンパイルするためのツールはありますが、コードはテキストエディタを使って書く必要があります。コードアシストがないテキストエディタでコードを書くのは苦行にしかならないので、Emacsでなんとかしようと思うわけですが、如何せん情報がない。
一番困ったのが、MXMLファイルの中にactionscript3のコードを混ぜて書くときのメジャーモードの切り替えです。世の中にはactionscript3用のメジャーモードなんてのもあるんですが、asファイルで分けることを前提として書かれているようなので、ちょっと厳しい。
で、nXhtmlに含まれるmumamoという、1つのバッファに複数のメジャーモードを共存させるelispを使って環境を整えました。
まずはactionscript3用のメジャーモードはここのを使いました。
で、あとはmumamoを使うためにnXhtmlのautostart.elをloadしたあとに以下のようにします。
;; actionsript-modeの登録
(autoload 'actionscript-mode "actionscript-mode" "Major mode for editing actionscript3." t)
(add-to-list 'auto-mode-alist '("\\.as?\\'" . actionscript-mode))
;; actionscript切り替え用chunk
(defun mumamo-chunk-mxml-script (pos min max)
"`<![CDATA['から`]]>'までをactionsript-modeとする"
(mumamo-quick-static-chunk pos min max "<![CDATA[" "]]>" nil 'actionscript-mode nil))
;; mxmlはxml-mode、asはactionscript-modeを使用する
(define-mumamo-multi-major-mode mxml-actionscript-mumamo-mode
"Flex開発でMXMLとactionscript3を共存させる"
("Flex Development" nxml-mode (mumamo-chunk-mxml-script)))
mxmlとactionscript3に限らず、以下のようにmumamoを使えるようにすれば幸せになれるかもしれません。
- 共存させたいメジャーモードを切り替えるためのchunkを定義する
- 共存させたいメジャーモードを
define-mumamo-multi-major-modeを使って元になるメジャーモードに組み込こむ
0 件のコメント:
コメントを投稿