Bidra med en preferanseside

Med utvidelsespunktet org.eclipse.ui.preferencePages kan du oppgi sider i dialogboksen for generelle preferanser ( Vindu > Preferanser). Dialogboksen for preferanser viser en hierarkisk liste med brukerpreferanseoppføringer. Hver oppføring som velges, viser en tilhørende preferanseside.

Readme-verktøyet bruker dette utvidelsespunktet til å legge til preferansesiden for readme-eksempelet:

      <extension
      point = "org.eclipse.ui.preferencePages">
       <page id="org.eclipse.ui.examples.readmetool.Page1"
	    class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"
         name="%PreferencePage.name">
         </page>
    </extension>

Denne kodetypen definerer preferansesiden for readme-eksempelet som implementeres av klassen ReadmePreferencePage. Klassen må implementere grensesnittet IWorkbenchPreferencePage.

Arbeidsbenken får tilgang til alle nodene i preferansetreet og de tilhørende sidene gjennom kjernekjøretidens preferansemekanismer. Denne listen kan initialiseres på bakgrunn av informasjonen i preferansetjenesten, uten kjøring av noen plugin-kode.

Siden for arbeidsbenkpreferanser

Preferansen for readme-eksempelet legges til i toppnivået i preferansetreet til venstre.  Hvorfor? Fordi et bidrag til preferanseside blir lagt til som en rot i treet, med mindre det er angitt et kategoriattributt. (Navnet kategori er noe misvisende. Kanskje er bane et mer beskrivende navn.)Kategoriattributtet angir IDen (eller en sekvens med IDer fra roten) til den overordnede siden.For eksempel oppretter kodetypen nedenfor enda en preferanseside for readme-verktøyet, "Readme Example Child Page", som en side som er underordnet den opprinnelige siden.

      <extension
      point = "org.eclipse.ui.preferencePages">
         <page
         id="org.eclipse.ui.examples.readmetool.Page1"
         class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"
         name="%PreferencePage.name">
         </page>
         <page
         id="org.eclipse.ui.examples.readmetool.Page2"
         class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage2"
         name="Readme Example Child Page"
         category="org.eclipse.ui.examples.readmetool.Page1>
         </page>
   </extension>

Når brukeren velger en oppføring i treet til venstre, oppretter og viser arbeidsbenken en preferanseside ved hjelp av klassen som er angitt i utvidelsesdefinisjonen.  Denne handlingen aktiverer plugin-modulen (hvis den ikke allerede er aktivert av en annen brukeroperasjon).