Eclipse中给文件创建错误标志(转)
扩展点配置如下(可以不用配置扩展点,用eclipse已经拥有的):
<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类型.
转至http://lizhensan.iteye.com/blog/1245129