Я делаю 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");
}