Eclipse プラグイン - デフォルトでJavaプロジェクトに特定のネイチャを追加する方法

上述している「起動直後からアクティブにする方法」とリソースリスナを組み合わせることで、新規の Java プロジェクトに対して、自作のネイチャを自動で追加させることが可能になります。

方法はいたって簡単。

  1. プラグインを org.eclipse.ui.startup 拡張ポイントに登録する
  2. プラグインがアクティブ化されたときに呼び出される start メソッドでワークスペースにリソースリスナを追加
  3. 忘れずに end メソッドでリソースリスナを削除
  4. リソースリスナ内で IProject のリソース追加を監視
  5. IProject のリソースが追加された場合、Java (JDTのか?) のネイチャを持っているかチェック
  6. Java のネイチャを持っている場合、当該プロジェクトに自作のネイチャを追加

上記の流れで、Java のネイチャを持つプロジェクトが新たに追加された場合に、自動で自作のネイチャを追加することができるようになるはずです。

もっとも、リソースリスナだけで特定の変更されたファイルに対する構文チェックはできることに気づいてしまったので、私にはいらない方法となってしまいましたが・・・orz

追記
http://blog.so-net.ne.jp/yoichiro/2005-04-09
↑によると、プロジェクトの追加とJavaネイチャ登録のタイミングにはずれがあるため、上記の方法では失敗するようです・・・(汗
IProject の変更を感知(これはリソースの変更イベントなので可能)して、その変更がネイチャに対する変更であることが分かればいいのですがそれは出来ないっぽい?ので、実際には、よういちろう氏が書いているように、リソースリスナ実装クラスの中で追加されたプロジェクトを覚えておいてということになると思います。