Marker Support

Identifier:
org.eclipse.ui.ide.markerSupport

Since:
3.2

Description:
The Marker Support extension point defines extensions to the workbench tools that show markers such as the problems, bookmarks and tasks views.

Configuration Markup:

<!ELEMENT extension (problemFilter* , markerTypeCategory* , markerGrouping* , markerGroupingEntry* , markerAttributeGrouping* , markerContentGenerator* , markerField* , markerContentGeneratorExtension*)>

<!ATTLIST extension

point CDATA #REQUIRED

name  CDATA #IMPLIED

id    CDATA #IMPLIED>


<!ELEMENT problemFilter (selectedType)*>

<!ATTLIST problemFilter

enabled       (true | false)

scope         (ON_ANY|ON_SELECTED_ONLY|ON_SELECTED_AND_CHILDREN|ON_ANY_IN_SAME_CONTAINER)

onDescription CDATA #IMPLIED

severity      (ERROR|WARNING|INFO)

name          CDATA #REQUIRED

id            CDATA #REQUIRED>

A problem filter is a filter that can be applied to the problems view. @deprecated in 3.4. Use markerFieldConfiguration and bind it to the markerContentGenerator you specify.



<!ELEMENT selectedType EMPTY>

<!ATTLIST selectedType

markerId IDREF #IMPLIED>

The selectedTypes are the ids of the marker types selected by default in this filter. If there are no selected types all marker types are enabled. All types not specified in this filter are disabled by default.



<!ELEMENT markerTypeCategory (markerTypeReference)+>

<!ATTLIST markerTypeCategory

name CDATA #REQUIRED>

The markerTypeCategory is an element for grouping marker types into a single category.



<!ELEMENT markerTypeReference EMPTY>

<!ATTLIST markerTypeReference

id IDREF #REQUIRED>

The markerTypeReference is a reference to a markerType defined using the extension point in org.eclipse.core.resources.



<!ELEMENT markerAttributeGrouping (markerAttributeMapping*)>

<!ATTLIST markerAttributeGrouping

markerType           IDREF #REQUIRED

attribute            CDATA #IMPLIED

defaultGroupingEntry CDATA #IMPLIED>

markerAttributeGrouping is a definition of attribute mappings for a particular markerType. markerAttributeGroupings defined at the top level are only applied to the problems view for compatibility with the pre 3.4 API. It is generally recommended that a markerAttributeGrouping is defined as a child element of a markerGroup.



<!ELEMENT markerGrouping (markerGroupingEntry , markerAttributeGrouping*)*>

<!ATTLIST markerGrouping

label CDATA #REQUIRED

id    CDATA #REQUIRED>

A markerGrouping is a definition of a grouping criterea for the marker views that support it . Top level markerGroupings are assumed to belong to the problems content generator. A markerGrouping is usually specified as the child of a markerContentGenerator. It is recommended that a markerContentGenerator defines its own markerGroupings if possible. Note that only the problems view supported markerGroupings pre 3.4. If a markerGrouping has id org.eclipse.ui.ide.types the internal types marker grouping will be used.



<!ELEMENT markerAttributeMapping EMPTY>

<!ATTLIST markerAttributeMapping

value               CDATA #REQUIRED

markerGroupingEntry CDATA #REQUIRED>

A markerAttributeMapping maps a marker attribute to a name.



<!ELEMENT markerGroupingEntry EMPTY>

<!ATTLIST markerGroupingEntry

id             CDATA #REQUIRED

markerGrouping CDATA #IMPLIED

label          CDATA #REQUIRED

priority       CDATA #REQUIRED>

A markerGroupingEntry is the specification of one of the entries in a markerGrouping. A top level markerGroupingEntry can only be applied to a top level markerGrouping for compatibility with the pre 3.4 API. It is recommended that a markerGroupingEntry is specified as a child element of a markerGrouping.



<!ELEMENT markerContentGenerator (markerFieldReference+ , markerTypeReference+ , markerFieldConfiguration* , markerGrouping*)>

<!ATTLIST markerContentGenerator

id                    CDATA #REQUIRED

name                  CDATA #REQUIRED

defaultMarkerGrouping CDATA #IMPLIED>

A markerContentGenerator is the definition of a marker content for an instance of org.eclipse.ui.views.markers.MarkerSupportView. This element is EXPERIMENTAL and subject to change without notice.



<!ELEMENT markerField EMPTY>

<!ATTLIST markerField

id                       CDATA #REQUIRED

class                    CDATA #REQUIRED

name                     CDATA #REQUIRED

icon                     CDATA #IMPLIED

filterClass              CDATA #IMPLIED

filterConfigurationClass CDATA #IMPLIED>

A markerField is the definition of an org.eclipse.ui.views.markers.MarkerField used to define a column



<!ELEMENT markerFieldReference EMPTY>

<!ATTLIST markerFieldReference

id      IDREF #REQUIRED

visible (true | false) >

A markerFieldReference is a reference to a markerField in a markerContentGenerator. The columns in a markersView are created in the order that the markerFieldReferences are specified. This is also the default sortOrder for the fields.



<!ELEMENT markerFieldConfiguration EMPTY>

<!ATTLIST markerFieldConfiguration

id      CDATA #REQUIRED

name    CDATA #REQUIRED

values  CDATA #IMPLIED

scope   (ON_ANY|ON_SELECTED_ONLY|ON_SELECTED_AND_CHILDREN|ON_ANY_IN_SAME_CONTAINER)

enabled (true | false) >

markerFieldConfiguration is a definition of a configuration to be added to a markerContentGenerator by default such as the All Errors configuration in the problems view.



<!ELEMENT markerContentGeneratorExtension (markerGrouping* , markerFieldConfiguration*)>

<!ATTLIST markerContentGeneratorExtension

id          CDATA #REQUIRED

generatorId IDREF #REQUIRED>

A markerContentGeneratorExtension is an extension to an existing markerContentGenerator.



Examples:
The following is an example of a problem filter definition in the marker support. This example only shows java warnings on the selected elements and their children and filters out those with the String NON-NLS


 <extension point="org.eclipse.ui.ide.markerSupport">
  <problemFilter
    name = "Warnings"
    id = "org.eclipse.example.warningFilter"
    enabled = "true"
    scope="ON_SELECTED_AND_CHILDREN"
    onDescription="!NON-NLS"
    severity="WARNING"
  >
  <selectedType
    markerId="org.eclipse.core.resources.problemmarker"/>
  </problemFilter>
 </extension>

Supplied Implementation:
The severity markerGrouping is provided in the org.eclipse.ui.ide plug-in by default.


Copyright (c) 2005, 2011 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0