针对有UI(激活器继承自AbstractUIPlugin)的插件,有2种方式.
1.在继承自AbstractUIPlugin的子类中实现initializeDefaultPreferences(IPreferenceStore store)方法.
eg:
public class Activator extends AbstractUIPlugin {
//The shared instance.
private static Activator plugin;
//The identifiers for the preferences
public static final String BAD_WORDS_PREFERENCE = "badwords";
public BadWordCheckerPlugin(IPluginDescriptor descriptor) {
super(descriptor);
plugin = this;
}
public static BadWordCheckerPlugin getDefault() {
return plugin;
}
/**
* Initializes a preference store with default preference values
* for this plug-in. 关注这个方法
*/
protected void initializeDefaultPreferences(IPreferenceStore store) {
store.setDefault(BAD_WORDS_PREFERENCE, DEFAULT_BAD_WORDS)
}
}
2.通过org.eclipse.core.runtime.preferences扩展点来完成.
扩展点:org.eclipse.core.runtime.preferences
描述:首选项扩展点允许插件对Eclipse首选项机制添加新的首选项作用域以及指定要运行的类以便在运行时初始化缺省首选项值。经常使用的是<initializer>属性。
< initializer >结点中的class必须继承抽象类org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer.
eg:
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="net.chenxs. MyInitializer"> </initializer>
</extension>
public class MyInitializer extends AbstractPreferenceInitializer { public MyInitializer() { } @Override public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); store.setDefault("url", "http://eclipse.org"); } }