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.
-
enabled - Whether or not this filter is enabled by default. If this value is not specified the value is true.
-
scope - The scope of the filter. One of
ON_ANY: any item in the workbench
ON_SELECTED_ONLY: on the currently selected item
ON_SELECTED_AND_CHILDREN: on the currently selected item and it's children
ON_ANY_IN_SAME_CONTAINER: on any item with the same top level container as the selection
-
onDescription - The description of the problem to check against. If this value is preceded with a ! the check will check that the description does not contain this string.
-
severity - The severity of problem this filter is enabled for. If this value is not set then no filtering by severity will occur. Severity can be one of the following values: ERROR, WARNING or INFO.
-
name - The human readable name of the filter.
-
id - The unique id of the filter.
<!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.
-
markerId - The id of a marker that is enabled by default.
<!ELEMENT markerTypeCategory (
markerTypeReference)+>
<!ATTLIST markerTypeCategory
name CDATA #REQUIRED
>
The markerTypeCategory is an element for grouping marker types into a single category.
-
name - The label is the human readable name that will be presented to the user.
<!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.
-
id - The id of the markerType
<!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.
-
markerType - The id of the markerType this grouping applies to.
-
attribute - The attribute is the name of the attribute to test. If it is not specified then only the defaultGroupingEntry will be checked.
-
defaultGroupingEntry - The defaultGroupingEntry is the optional category for groupings that do not satisfy any of the markerAttributeMappings in the receiver. This default will be applied when the attribute value does not match a mapping or when the attribute is not available.
<!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 it's 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.
-
label - The label is the human readable String that will be used to create the entry in the Group By-> menu for this marker grouping.
-
id - The id is non translatable identifier for the markerGrouping. Referred to in a markerGroupingEntry.
<!ELEMENT markerAttributeMapping EMPTY>
<!ATTLIST markerAttributeMapping
value CDATA #REQUIRED
markerGroupingEntry CDATA #REQUIRED
>
A markerAttributeMapping maps a marker attribute to a name.
-
value - The value is the value of the attribute that is used in this mapping.
-
markerGroupingEntry - The id of the markerGroupingEntry that this attribute value maps to.
<!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.
-
id - The id of the markerGroupingEntry. Referred to in a markerAttributeGrouping.
-
markerGrouping - The markerGrouping is the id of the markerGrouping this entry will be added to.
This attribute is optional if this is defined as a child element of a markerGrouping.
-
label - The translable label of the entry.
-
priority - The priority of the entry. Higher priorities show up higher in the list.
<!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.
-
id - The id attribute is the unique id of the markerContentGenerator.
-
name - The name attribute is the human readable name of the content generator.
-
defaultMarkerGrouping - defaultMarkerGrouping is the id of the grouping to use by default. This grouping must be defined as child element of the markerContentGenerator
<!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 a org.eclipse.ui.views.markers.MarkerField used to define a column
-
id - The unique id of the field
-
class - The class is the type used to instantiate the field.
-
name - The name is the human readable name of the field.
-
icon - The icon is the plug-in relative path for the icon.
-
filterClass - The filterClass is the class that does filtering on this field when enabled. If this is not specified no filtering will occur based on this field.
-
filterConfigurationClass - The filterConfigurationClass is an optional area that is used for configuration of the field in a filter dialog.
<!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.
-
id - The id is the id of the markerField being referred to.
-
visible - The visible flag indicates whether or not the receiver is visible. If this flag is not set the value is true.
<!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.
-
id - The id of the grouping.
-
name - The human readable name of the grouping.
-
values - The values is a class that specifies the values that are to be set in the filterClass of a markerField for the enclosing markerContentGenerator.
-
scope - The scope of the grouping
One of
ON_ANY: any item in the workbench
ON_SELECTED_ONLY: on the currently selected item
ON_SELECTED_AND_CHILDREN: on the currently selected item and it's children
ON_ANY_IN_SAME_CONTAINER: on any item with the same top level container as the selection.
If this value is not set the value is ON_ANY
-
enabled - The enabled flag determines whether or not the receiver is on by default. If this value is not specified it is assumed to be true.
<!ELEMENT markerContentGeneratorExtension (
markerGrouping* ,
markerFieldConfiguration*)>
<!ATTLIST markerContentGeneratorExtension
id CDATA #REQUIRED
generatorId IDREF #REQUIRED
>
A markerContentGeneratorExtension is an extension to an existing markerContentGenerator.
-
id - The id of the receiver
-
generatorId - The id of the generator being extended
Examples:
The following is an example of a problem filter definition in the marker support. This example only shows java warnings on the selected element and it's 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, 2007 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at https://www.eclipse.org/legal/epl-v10.html