- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想为标记指定自定义图标。遗憾的是,我选择的图标没有显示。
以下是 plugin.xml 文件的相关部分(项目 ID“x”):
<extension
id="xmlProblem"
name="XML Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.core.resources.problemmarker"/>
<persistent
value="true">
</persistent>
</extension>
<extension
point="org.eclipse.ui.ide.markerImageProviders">
<imageprovider
markertype="x.xmlProblem"
icon="icons/marker.png"
id="xmlProblemImageProvider">
</imageprovider>
</extension>
我还尝试指定一个类(实现 IMarkerImageProvider
)而不是图标,但是没有调用该类的 getImagePath()
方法。
对如何使自定义标记图标起作用有什么想法吗?
绝望地,你的。
-意大利
更新
VonC 的解决方案非常正确,除了您必须不指定 org.eclipse.core.resources.problemmarker
作为标记的父类(super class)型。它仅在我将 org.eclipse.core.resources.textmarker
用作唯一父类(super class)型时起作用。
最佳答案
参见 bug 260909 “markerImageProviders扩展点不起作用”(阅读后发现this thread)
Tod Creasey 2009-01-21 07:32:38 EST
We have never had the push to make this API because it has some inflexibility that made it generally not consumable - it was written early on to enable the first marker views for the 3 severities we use and as a result was not used by the markerSupport as it was not API.
It is confusing that we have an internal extension point (we don't generally dothat) but removing it would likely break someone without warning.
[由 Itay 编辑]
根据 Vonc 的指示,我最终成功地使这件事成功了。以下是我的 plugin.xml
中的相关片段(假设插件名称是 a.b.c
)
<extension point="org.eclipse.core.resources.markers"
id="myMarker">
<super type="org.eclipse.core.resources.textmarker"/>
<persistent value="true"/>
</extension>
<extension point="org.eclipse.ui.editors.annotationTypes">
<type
super="org.eclipse.ui.workbench.texteditor.warning"
markerType="a.b.c.myMarker"
name="a.b.c.myAnnotation"
markerSeverity="1"/>
</extension>
<extension point="org.eclipse.ui.editors.markerAnnotationSpecification">
<specification
annotationType="a.b.c.myAnnotation"
icon="icons/marker.png"
verticalRulerPreferenceKey="myMarkerIndicationInVerticalRuler"
verticalRulerPreferenceValue="true"/>
</extension>
陷阱
org.eclipse.core.resources.textmarker
。任何其他值都会阻止使用您的自定义图标。org.eclipse.ui.editors.annotationTypes
扩展的 markerSeverity
属性中指定的严重性值相匹配观点。 1
表示警告等关于java - Eclipse 插件 : Custom icon for a Marker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888207/
我是一名优秀的程序员,十分优秀!