グローバルレベルの環境設定をプロジェクトレベルで保存する方法についてはPOCを行っています。プロジェクトレベルでグローバルな設定を保存する方法
私はMyPreferencePage
ページを作成し、org.eclipse.ui.preferencePages
拡張子を使用してこのページをEclipse環境設定に追加するサンプルアプリケーションを作成しました。
また、ページデータを保存してコードsetPreferenceStore(Activator.getDefault().getPreferenceStore())
を使用して取得することもできます。 プロジェクトのプロパティレベルで新しいページを作成し、プロジェクトレベルでページ値を保存できるようにする必要があります。
以下はMyPreferencePage
とpreferencePages
のコードです。
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.vogella.preference.MyPreferencePage"
id="com.vogella.preference.page1"
name="MyPreferencePage">
</page>
</extension>
public class MyPreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {
public MyPreferencePage() {
super(GRID);
}
@Override
public void createFieldEditors() {
addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH,
"&Directory preference:", getFieldEditorParent()));
addField(new BooleanFieldEditor(PreferenceConstants.P_BOOLEAN,
"&An example of a boolean preference", getFieldEditorParent()));
addField(new RadioGroupFieldEditor(PreferenceConstants.P_CHOICE,
"An example of a multiple-choice preference", 1,
new String[][] { { "&Choice 1", "choice1" },
{ "C&hoice 2", "choice2" } }, getFieldEditorParent()));
addField(new StringFieldEditor(PreferenceConstants.P_STRING,
"A &text preference:", getFieldEditorParent()));
addField(new StringFieldEditor(PreferenceConstants.P_STRING,
"A &text preference:", getFieldEditorParent()));
}
@Override
public void init(IWorkbench workbench) {
setPreferenceStore(Activator.getDefault().getPreferenceStore());
setDescription("A demonstration of a preference page implementation");
}