我创建了eclipse插件,我需要自定义标记视图。我创建了一个视图并创建了一个我自己的标记,我需要在视图中有4个列,名为location,resource,value,method name。我不在输出视图中获取自定义字段,如值和方法名称像位置资源这样的onlu默认列正在进行中。
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();
}
}
但是方法名称和值没有在显示中出现,我如何将自定义标记添加到自定义视图中?
答案 0 :(得分:1)
最后我发现了问题,它带有我的代码。我创建了自定义字段
<markerField
class="marker.handlers.MethodName"
id="com.test.methodname"
name="Method Name">
markerContentGenerator之后的
如果我们将markerField放在markerContentGenerator之前,则自定义字段会显示在视图中。
感谢。