添加标记解析

插件可以定义标记解析,以便它们的标记可以参予工作台快速修正... 功能部件。 如果为标记添加了分辨率,则用户可以选择该标记并从弹出菜单选择快速修正...

使用 org.eclipse.ui.markerResolution 扩展点添加标记解析。此扩展点允许插件将实现 IMarkerResolutionGenerator与特定类型的标记相关联。可以只使用标记类型限定标记, 或可以用标记的一个或多个属性值进一步限定它。 自述文件工具声明几个不同的标记解析:

<extension point="org.eclipse.ui.markerResolution">
   <markerResolutionGenerator
      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator"
      markerType="org.eclipse.ui.examples.readmetool.readmemarker">
      <attribute name="org.eclipse.ui.examples.readmetool.id" value= "1234"/>
   </markerResolutionGenerator>
   <markerResolutionGenerator
      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator"
      markerType="org.eclipse.ui.examples.readmetool.readmemarker">
      <attribute name="org.eclipse.ui.examples.readmetool.level" value= "7"/>
   </markerResolutionGenerator>
   <markerResolutionGenerator
      class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator"
      markerType="org.eclipse.ui.examples.readmetool.readmemarker">
      <attribute name="org.eclipse.ui.examples.readmetool.code" value= "red"/>
      <attribute name="org.eclipse.ui.examples.readmetool.language" value= "english"/>
   </markerResolutionGenerator>
</extension>   

每个标记解析生成器都是为自述文件标记类型定义的, 但它将与另一属性值组合相关联。第一个标记解析生成器将用于 id 属性设置为 "1234" 的标记。在此特定示例中, 自述文件工具对所有情况使用同一标记解析生成器。 这并不是典型情况,但在对特定属性值组合只有一个分辨率可用的情况下,它也是有意义的。

标记解析生成器负责返回将显示在快速修正... 对话框中的一组标记解析(IMarkerResolution)。 该分辨率将是 run()(如果用户在对话框中选择它的话)。以下是来自于 ReadmeMarkerResolutionGenerator 的实现:

public class ReadmeMarkerResolutionGenerator implements IMarkerResolutionGenerator {
public IMarkerResolution[] getResolutions(IMarker marker) {
return new IMarkerResolution[] {new AddSentenceResolution()};
	}
}

AddSentenceResolution 定义分辨率的对话框标号并实现分辨率自身。

Copyright IBM Corporation and others 2000, 2003.