Komodo Edit が面白い
最近、JavaScriptのIDEが欲しいと思い始めた。強力な補完機能が欲しいのだ。
んで、Open Komodoなるものを発見。
ちょっくら落として使ってみた。
インストール
- http://downloads.activestate.com/Komodo/releases/5.0.3/ からアーカイブを落とす
- 展開
- cd Komodo-Edit-version-platform
- ./install.sh
- インストール先を指定 ~/opt/Komodo-Edit-5 とした
プロジェクト作成
- File -> New -> New Project From Template からテンプレートを選ぶ
以下のテンプレートが選べるみたい- Ruby on Rails
- Komodo Extension
- Firefox Extension
- Zend Framework
- とうぜん? Firefox Extension を選ぶ
気になる補完機能
XULなどのXML
Eclipseになれているとちょっと微妙に思えた。Eclipseでは開始タグを入力し終わると自動で終了タグを入れてくれたのだが、Komodo Editではそうならないみたい。>/
まで入れるとツールチップが現れて補完ができるのだが、できれば自動で入れてほしいと思った。
JavaScript
Firefox Extensionプロジェクトがあるくらいだから、XPCOM,XPConnectの補完も? と思っていたら本当にできた。
ただし、後述するが、Komodo Edit自体がXULアプリケーションみたいで、それようのコンポーネントのクラスまで補完されてちょっとうざったい。
あと、
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
までは上手くいくが、file.
からinitWithPath
等のメソッドの補完が全然出来ない。これはかなり残念。この辺はSpketIDEの方が優秀な様だ。
通常の補完は概ね良好。しかし、僕の理想が高すぎるのだろうか...僕が本当に望む結果では無かった。
僕は
var container = { init: function() {}, }; container.obj = (function(){ var privateProp = null; var namager = { publicMethod: function(){ }, }; return namager; })();
という書き方を好む。AptanaやEclipseプラグインのJavaScriptと同様に、container.obj
までは補完できるが、publicMethod
までは補完できない。
という感じで、ちょっと残念な結果だった。
Komodo EditはXULで作られている?
GUIの感じに既視感を覚えて、インストールディレクトリ/lib/mozilla/を見てみると、見慣れたファイルやディレクトリがあった。
- application.ini
- chrome/
- components/
- libmozjs.so
- libxul.so
等々、そのまんまXULアプリケーションのディレクトリやファイルがある。
libpyxpcom.soなんかもあり、PyXPCOMもサポートしているみたい。
chrome/へ行ってみると、これまた見慣れたjarファイルやらmanifestファイルがある。komodo.jarを試しにunzipしてみるとやっぱり見慣れたディレクトリ構成に、xulファイルやjsファイルがある。
どうも、GUIはみんなXULで出来ている様だ。凄い。XULでIDEという込み入ったUIを提供しているのだ。感動した。
良く見てみたら、ツールバー -> Tools -> Add-ons なんてのがあるじゃないか。開くとFirefoxでもお馴染みのAddonダイアログだ。
これはハックしがいがありそうだ。Vimperatorの次のおもちゃを発見した気分。
以上、始めてインストールしてみた所感でした。