Tillhandahålla en inställningssida

Med utökningspunkten org.eclipse.ui.preferencePages kan du tillhandahålla sidor till dialogrutan för allmänna inställningar ( Fönster > Inställningar). Inställningsdialogrutan presenterar en hierarkisk lista över användarens inställningsposter. När du markerar en post visas motsvarande inställningssida.

I readme-verktyget används utökningspunkten för att lägga till inställningssidan för Readme-exemplet.

   <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>

Med denna märkning definieras en inställningsida med namnet "Readme-exempel", vilken implementeras av klassen ReadmePreferencePage. Klassen måste implementera gränssnittet IWorkbenchPreferencePage.

I arbetsmiljön används kärnkörningsmekanismer för användarinställningar för access till alla noder i inställningsträdet med motsvarande sidor. Listan kan initieras från information i inställningstjänsten utan att köra någon insticksprogramkod.

Arbetsmiljöns inställningssida

Inställningen "Readme-exempel" läggs till på översta nivån i inställningsträdet till vänster.  Varför? Eftersom ett bidrag till en inställningssida läggs till som rot i trädet om inte attributetettcategory anges. (Namnet category är något missvisande. Kanske skulle path vara ett bättre namn.) Attributet category anger IDt (eller en sekvens med IDn från roten) för den överordnade sidan. Följande märkning skulle exempelvis skapa en andra inställningssida för readme-verktyget,"Underordnad sida till readme-exemplet", som ett underordnat objekt till den ursprungliga sidan.

   <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="Underordnad sida till readme-exempel"
         category="org.eclipse.ui.examples.readmetool.Page1>
      </page>
   </extension>

När användaren markerar posten för inställningssida i trädet till vänster skapar och visar arbetsmiljön en inställningssida med hjälp av den class som angetts i utökningens definition. Den här åtgärden är vad som aktiverar insticksprogrammet (om det inte redan aktiverats pga. en annan användaråtgärd).