Support for displaying markers

The org.eclipse.ui.ide.markerSupport extension point provides facilities for controlling how markers are displayed and organized in the UI. This extension point handles filters and grouping in views such as the Problems view as well as definition of custom marker views.

Marker Content Generators

Custom marker views can be created by specifying the view using a markerContentsGenerator. A markerContentsGenerator specifies the types used, the configurations available and the grouping to be shown in the view. The problems view, tasks view and bookmarks view are defined using markerContentsGenerator as of version 3.4. A reusable superclass org.eclipse.ui.views.markers.AbstractMarkersView has been supplied for use by custom markerContentsGenerators.

Commands

The menus defined in the markersViews now all use the org.eclipse.ui.menus extension point so they can be extended by clients at any desired point. The pop-up menus in the supplied markers views are available to all subclasses of org.eclipse.ui.views.markers.AbstractMarkersView but pull-down entries must be added for the new views explicitly. It is recommended that all new handlers for commands to be added to the markersView subclass org.eclipse.ui.views.markers.MarkerViewHandler so as to get access to the org.eclipse.core.resources.IMarkers currently selected.

Configurations

The Problems view supports multiple configurations at once. When multiple configurations are enabled there are two possible modes of matching: match any (any marker that matches one or more selected filters will be displayed) or match all (any marker that matches all selected filters will be displayed). New configurations can be added using the markerFieldConfiguration element or manually by the user. Below is the configuration section of the Problems view showing user configurations and configurations added via the extension point).

Picture of Problems view's 'Filters' dialog

Groups

Markers can be grouped in two ways. The first way is to group marker types into groups using the markerTypeCategory element. This is shown when the user selects Group By > Type. Below is an example that shows grouping by 'Java Problem Type':

Picture of Problems view showing grouping by type

When marker types are grouped together they will be shown in those groups in the configurations dialog.

Picture of Problems view's 'Filters' dialog

You can also create your own grouping using the markerGrouping element, which will show up as an extra entry in the Group By menu of the markers view it is defined in. Top level markerGroupings are shown in the Problems View (this is for compatibility with previous Eclipse versions). The IDE provides a grouping based on severity (the default). The Java development tools provide a Java Type grouping.

markerGroupings are resolved by checking attributes on the IMarker. markerAttributeMappings are used to specify these mappings. Below is the Group By menu with the extra markerGroupings that have been added. The Problems view is currently grouped by severity.

Picture of the Problems view's 'Group By' view menu