Je fais le POC sur la façon dont les préférences de niveau globales peuvent également être stockées au niveau du projet.Comment stocker les préférences globales au niveau du projet
J'ai créé l'exemple d'application dans lequel j'ai créé la page MyPreferencePage
et utilisé l'extension org.eclipse.ui.preferencePages
pour ajouter cette page dans les préférences d'éclipse.
Je suis également capable de sauvegarder les données de la page et de les récupérer en utilisant le code setPreferenceStore(Activator.getDefault().getPreferenceStore())
. Maintenant, je veux créer une nouvelle page sous le niveau des propriétés du projet et devrait pouvoir stocker les valeurs de la page au niveau du projet. Voici le code pour l'extension MyPreferencePage
et 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");
}