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

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 showing Java Problems and some using a test grouping.

When marker types are grouped together they will be shown in those groups in the configurations 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.