きちんと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 件のコメント:
コメントを投稿