当前位置: 代码迷 >> Eclipse >> Eclipse中的org.eclipse.core.resources.markers扩张点
  详细解决方案

Eclipse中的org.eclipse.core.resources.markers扩张点

热度:222   发布时间:2016-04-23 01:55:20.0
Eclipse中的org.eclipse.core.resources.markers扩展点

扩展点配置如下:
<extension
???????? id="my.marker.id"
???????? name="my.marker.name"
???????? point="org.eclipse.core.resources.markers">
????? <persistent
??????????? value="true">
????? </persistent>
????? <super
??????????? type="org.eclipse.core.resources.problemmarker">
????? </super>
</extension>

persistent代表是否将错误保存,如果false,重启就会消失
super 是父亲类型,有四种类型
org.eclipse.core.resources.marker —— 记号层次结构的根。

org.eclipse.core.resources.problemmarker —— 表示问题或错误消息,出现在问题列表中。

org.eclipse.core.resources.taskmarker —— 表示待办事项,出现在任务列表中。

org.eclipse.core.resources.bookmark —— 表示文件,比如搜索结果。

org.eclipse.core.resources.textmarker —— 表示文件的位置,比如出现错误的位置。

  定义插件专用的记号是一种不错的选择。新记号的 ID 在 plugin.xml 文件(与 Eclipse 中的其他声明一样)重定义。清

单 1 显示了一个记号声明,定义了记号 ID( org.eclipse.core.resources.markers)的一个扩展。它还声明了新的记号,这

些记号分别从 problemmarker(显示在问题列表中)和 textmarker(为了记录行号)中继承而来。将记号声明为持久的是为了

在会话之间保存这些记号。

那么如何创建Marker?
IMarker myMarker = container.createMarker("org.eclipse.gef.examples.ediagram.my.marker.id");
myMarker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH);
myMarker.setAttribute(IMarker.MESSAGE, "my marker test");
myMarker.setAttribute(IMarker.SEVERITY , IMarker.SEVERITY_ERROR);

org.eclipse.gef.examples.ediagram 是插件ID,my.marker.id是marker ID,中间.号割开
container 是IResource类型.

  相关解决方案