JDTのPreferenceStoreをPlug-inを使ってデフォルト値のカスタマイズをするには

Quick JUnitとmockitoをより連携させるために考えていることに、static importをコンテントアシストしてくれるFavoriteへの登録がある。こんな感じ。

既に似たような事をしているプラグインがある。SWTBotだ。なので、
http://github.com/ketan/swtbot/raw/master/org.eclipse.swtbot.eclipse.ui/src/org/eclipse/swtbot/eclipse/ui/preferences/PreferenceInitializer.javaを参考にしよう。

このPreferenceInitializerはAbstractPreferenceInitializerを継承しているので、設定の初期値を設置するためのクラスだ。その他にもIStartupやIPropertyChangeListenerを実装しているけど、IStartupは、Workbenchの起動後に実行するためのインタフェース、IPropertyChangeListenerは、設定画面から値が変更になったときに何かをするためのインタフェース。どちらもそんなに気にする必要はない。ということで、実際にどうやって値を設定しているか、見ていく。

org.eclipse.jdt.ui.PreferenceConstants を取得する

JDTにおける設定値はorg.eclipse.jdt.ui.PreferenceConstants#getPreferenceStore()で取得できる。PreferenceInitializer#initializeFavorites()で、Favoritesの値を変更しているけど、もし、SWTBotの設定画面でFavoritesに追加するようチェックが入っていれば、JDTのFavoritesに追加する、そうじゃなかったらSWTBotが追加している設定を削除する、ってやってるだけ。簡単簡単。

ということは、Quick JUnitでも同じような設定画面を作れば対応できそう。