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