【问题标题】:How to set custom markers to custom view? [closed]如何将自定义标记设置为自定义视图? [关闭]
【发布时间】:2014-10-16 09:37:56
【问题描述】:

我创建了需要自定义标记视图的 Eclipse 插件。我创建了一个视图并创建了一个我自己的标记,我需要在我的视图中有 4 列名为 location、resource、value、method name 。我没有在输出视图 onlu default 中获取自定义字段,如值和方法名称位置资源等列即将推出。

插件.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");

}
}

方法名.java

 public class Names extends MarkerField {

  public Names() {
    super();
  }

  public String getValue(MarkerItem item) { 
     return item.getMarker().getResource().getProject().getName(); 
  }
}

但是方法名和值没有出现在显示中,我如何将自定义标记添加到自定义视图中?

【问题讨论】:

  • super("com.testcustomMarkerGenerator") 应该是 super("com.test.customMarkerGenerator")(“测试”后缺少点)
  • 是的,对不起,我的错......但在我的代码中它的 super("com.test.customMarkerGenerator") 。自定义字段仍然没有显示在我的自定义标记视图中
  • @greg-449 : 是否可以在自定义标记视图中添加多个自定义字段?因为在我的视图中只有一列可见。

标签: eclipse eclipse-plugin eclipse-pde


【解决方案1】:

最后我发现了问题,它与我的代码有关。我创建了自定义字段

<markerField
  class="marker.handlers.MethodName"
  id="com.test.methodname"
  name="Method Name">

在 markerContentGenerator 之后 如果我们将 markerField 放在 markerContentGenerator 之前,自定义字段会显示在视图中。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多