最近、JetBrains製プラグインの勉強をしていたりする。 で、色々調べた結果ちょっとしたものならなんとか作れそうな感じがしてきた。 とりあえずメモ的に残しておきましょう。

開発ツール

まず、開発ツール。 これはIntellij IDEAを使います。 といっても有償版のUltimateじゃなくて無償版CommunityでOKです。 言語はJavaになります。ScalaとかKotlinでも書けるのかな?

セットアップ

まず起動したら空プロジェクト作ってSDKの設定をしましょう。 Project Structureを開いてJDKのパスを設定。 IDEAにはJREしか入ってないので持ってない方はダウンロードしてきてください。 後はPlugin SDK。 パスはProgram FilesのIDEAトップ。 たぶん自動的に選択されるはず。 これで準備完了。

新規作成

新規プロジェクトにてIntellij Platform Pluginを選択してProject Nameを設定すればOK。 で、ここからはまだお勉強中なのですが、基本的に常時起動以外のプラグインは実行するとActionクラスが呼ばれます。 そのアクションを作る必要があるので、適当にsrc配下にpackageを作って右クリック、New→Action。 IDとかクラス名は後からでも変えられますが、GroupsとActionsが分かりづらい。 基本メニューにぶちこむのならMainMenu Groupになるし、ポップアップさせたいのならEditor Popupになるでしょうし。 地道に探すしか無いんですかねえこれ。

コーディング

後はクラス内に普通にJavaコードを書けばいいです。 自分はダイアログだしたいのでswing書いてます。 で、最終的にWriteCommandAction.runWriteCommandActionっていうメソッドからエディタへ文字列出力と。 プロジェクト開いていますかとかエディタにフォーカスされてますかとか色々チェックが挟まるものの、とりあえずは目的のものが作れそう。 ドキュメントがほぼ無いので色々苦しいですがね。 ま、とりあえず作ってみたいものがある人はチャレンジしてみてもいいのでは。