Adding preferences and properties

Preferences and properties can be contributed by team UI plug-ins using the standard techniques.  The only difference for a team plug-in is that preferences should be contributed using the team category, so that all team related preferences are grouped together.  The CVS markup for the main preferences page looks like this:

<extension
      point="org.eclipse.ui.preferencePages">
   <page
         name="%PreferencePage.name"
         category="org.eclipse.team.ui.TeamPreferences"
         class="org.eclipse.team.internal.ccvs.ui.CVSPreferencesPage"
         id="org.eclipse.team.cvs.ui.CVSPreferences">
   </page>
</extension>

The preferences dialog shows the CVS preferences underneath the team category.

 

Properties are added as described by org.eclipse.ui.propertyPages.  There is no special team category for properties, since a resource can only be configured for one repository provider at a time.  However, you must set up your property page to filter on the team project persistent property (similar to the way we filtered resources for popup menu actions.)

  <extension
    point="org.eclipse.ui.propertyPages">
     <page
           objectClass="org.eclipse.core.resources.IFile"
           adaptable="true"
           name="%CVS"
           class="org.eclipse.team.internal.ccvs.ui.CVSFilePropertiesPage"
           id="org.eclipse.team.ccvs.ui.propertyPages.CVSFilePropertiesPage">
        <filter
              name="projectPersistentProperty"
              value="org.eclipse.team.core.repository=org.eclipse.team.cvs.core.cvsnature">
        </filter>
     </page>
     ...