NetBeans用プラグインのつくりかた(xmpfilter篇)

現在開いているrbファイルに対してxmpfilterをかけるプラグインをつくってみた。
以下、淡々と手順をメモ。

新規プロジェクト

プロジェクトを選択
  • カテゴリ: NetBeans モジュール
  • プロジェクト: モジュール
名前と場所
基本モジュール構成
  • コード名ベース: org.mumoshu.nbxmpfilter

新規アクション*1

ファイルの種類を選択
  • モジュールの開発
    • アクション
アクションの種類
  • 条件付で有効
    • Cookieクラス: EditorCookie*2
    • 1つのノードを選択可能*3
GUIの登録
  • カテゴリ: Ruby
  • 大域メニュー項目
    • メニュー: ソース
    • 位置: 前の一致した単語を挿入 - ここに置く*4
    • セパレータを前に
名前、アイコン、および場所

モジュールの依存関係を追加

プロジェクトの「ライブラリ」で右クリック->「モジュールの依存関係を追加」

プラグイン内でファイルを扱う場合に必要らしい。

モジュール本体の.javaファイルを実装

内容についてはソースを参照ください。
動作確認したいときは「実行」。
開発中のプラグインを読み込んだNetBeansが新たに開きます。

ライセンスを書いたテキストファイルを用意

とりあえず、
プロジェクトルート/LICENSE
に置いた。

プロジェクトプロパティーで色々

  • 表示
    • 表示カテゴリ: Ruby
    • 簡単な説明・詳細な説明を書いておく
  • 公開パッケージ -> チェック入れておく
  • 構築 -> パッケージング
    • ライセンス -> 先ほど作成したテキストファイルを参照
    • ホームページと作成者も入れておく

NBM作成

署名用のキーがないと言われるが、気にしない。
buildディレクトリ以下に色々作られているが、
build/org-mumoshu-nbxmpfilter.nbm
プラグイン本体。

NBMをインストールしてみる

ツール -> プラグイン -> ダウンロード済み -> プラグインの追加 -> NBMファイルを選択 -> インストール
先ほど入力した説明文などはここで表示されます。
動作確認してみましょう。

GitHubで公開

色々とgit add & git commit & git push origin master。
buildディレクトリ以下は色々と一時ファイルが入っていてサイズ大きいので、
nbmファイルのみgit addするとよさげ。

終了

お疲れ様でした。
ソース一式は以下に置いておきます。
GitHub - mumoshu/nbxmpfilter: xmpfilter for NetBeans

*1:プロジェクト上で右クリック右->新規->アクション

*2:エディタ上でのみ有効にしたい

*3:今編集中の1ファイルに対してのみxmpfilterを適用したい

*4:「ソース」メニューの一番下に設置

*5:*.rbファイルを開いている時にだけ有効にしたい

*6:コード名ベースで指定したものが最初から入っている