IntelliJ IDEAのプラグイン開発
ScalaでIntelliJのプラグインを作ろうと思ったのでメモついでに。
参考
http://confluence.jetbrains.net/display/IDEADEV/PluginDevelopment
http://www.jetbrains.com/idea/training/demos/google_search.html
下のLive Demoと同じものを作るところまでやってみます。
環境設定
IntelliJのJDKとScalaライブラリの設定、Scalaプラグインのインストールは済んでいるとします。
IntelliJ IDEA Community Editionをインストール
次の設定に使うもので、開発はUltimate Editionでするとしてもこちらも入れる必要がありそうです。*1
今回はちょっと試してみたかったのでIntelliJ IDEA 11(Nika)のEAP(記事時点でbuild110.187)をここから取ってきてインストール。
ソースも一緒にダウンロードするか、リポジトリから取ってきます。
git clone git://github.com/JetBrains/intellij-community.git git checkout idea/110.187
IntelliJ IDEA Plugin SDKの設定
開発に使うIntelliJを起動します。自分はNika Ultimateを別にインストールして使いましたが、先にインストールしたものでもいいはずです。
File > Project Structure > Platform Settings > SDKs から「+」ボタンで「IntelliJ IDEA Plugin SDK」を追加。
SDKのホームを求められるのでCommunity Editionのパスを指定します。次にJDKも選択。
追加されたSDKのSourcepathにダウンロードしたソースのディレクトリを追加します。
プラグイン作成
最初に貼ったデモ内で作成しているプラグインを作ります。エディタのカーソル位置にある単語をブラウザ起動してGoogle検索するものです。
META-INF/plugin.xml
プロジェクト作成時にplugin.xmlというファイルが生成されています。プラグインの情報などはこのファイルに書いていくようです。
各要素を設定していきます。プラグインの名前、説明、バージョン、ベンダーと。
idea-versionはsince-buildやuntil-build属性にプラグインの動作するIntelliJのビルド番号を指定します。互換性についてはよく調べてないですが*5、とりあえずsince-buildにSDKに利用しているIntelliJのビルド番号を入れておきます。