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