我创建了需要自定义标记视图的eclipse插件。我已经创建了一个视图并创建了自己的标记,并且我的视图中需要有4个列,分别命名为location,resource,value,method name。在默认的输出视图中,我没有获得自定义字段,例如value和method name。诸如位置资源之类的列即将到来。
Plugin.xml:
<extension
id="com.test.plugin.markers"
name="Test Markers"
point="org.eclipse.core.resources.markers">
<persistent
value="true">
</persistent>
<super
type="org.eclipse.core.resources.textmarker">
</super>
<attribute
name="Name">
</attribute>
</extension>
<!--creating new view for displaying the markers -->
<extension
point="org.eclipse.ui.views">
<view
class="marker.handlers.CustomMarkerView"
icon="icons/sample.gif"
id="com.test.customMarker"
name="Test Markers View">
</view>
</extension >
<extension point="org.eclipse.ui.ide.markerSupport">
<markerContentGenerator
id="com.test.customMarkerGenerator" name="Custom Marker View">
<markerTypeReference
id="com.test.plugin.markers"/>
<markerFieldReference
id="org.eclipse.ui.ide.locationField"/>
<markerFieldReference
id="org.eclipse.ui.ide.resourceField"/>
<markerFieldReference
id="com.test.value"/> <markerFieldReference
id="com.test.methodname"/>
</markerContentGenerator>
<markerField
class="marker.handlers.MethodName"
id="com.test.methodname"
name="Method Name">
</markerField>
<markerField
class="marker.test.Value"
id="com.test.value"
name="Value">
</markerField>
</extension>
CustomMarkerView.java:
public class CustomMarkerView extends MarkerSupportView {
public CustomMarkerView() {
super("com.testcustomMarkerGenerator");
}
}
MethodName.java
public class Names extends MarkerField {
public Names() {
super();
}
public String getValue(MarkerItem item) {
return item.getMarker().getResource().getProject().getName();
}
}
但是方法名称和值未在显示中显示,如何将自定义标记添加到自定义视图中?
最终,我找到了问题所在,它与我的代码有关。我创建了自定义字段
<markerField
class="marker.handlers.MethodName"
id="com.test.methodname"
name="Method Name">
在markerContentGenerator之后如果将markerField放在markerContentGenerator之前,则定制字段将显示在视图中。
谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句