eclipse-pde - Eclipse 自定义标记 View

标签 eclipse-pde eclipse-plugin

我正在尝试创建自定义标记 View 。在此 View 中,我想仅将资源限制/过滤到选定的项目。该项目名称将动态提供。

例如,在项目资源管理器的上下文菜单中,用户将可以选择打开自定义标记 View 。

如果用户从project1选择自定义标记 View ,则该 View 应仅显示project1的标记。

有什么建议吗?

最佳答案

我也做过类似的事情。首先在您的plugin.xml 中定义一个View,相应的类必须扩展MarkerSupportView。像这样的事情:

public class MarkerView extends MarkerSupportView {

public MarkerView() {
    super("com.example.markerEventContentGenerator"); //$NON-NLS-1$

}
}

然后您需要定义新 View 中的列以及必须显示的标记类型。这是来自plugin.xml 的示例。

 <extension
   point="org.eclipse.ui.ide.markerSupport">
<markerContentGenerator
      id="com.example.markerEventContentGenerator"
      name="Custom Marker View">
    <markerTypeReference 
     id="com.example.myMarker"/>
</markerContentGenerator>
<markerField
      class="com.example.fields.NameMarkerField"
      id="com.example.field.name"
      name="Name">
</markerField>
</extension>

NameMarkerField 类必须扩展 MarkerField。另一个虚拟示例:

public class AnnotationNameMarkerField extends MarkerField {

public AnnotationNameMarkerField() {
    super();
}

@Override
public String getValue(final MarkerItem item) {
    return "Dummy Name";
}

/*
 * (non-Javadoc)
 *
 * @see
 * org.eclipse.ui.views.markers.MarkerField#getDefaultColumnWidth(org.eclipse
 * .swt.widgets.Control)
 */
@Override
public int getDefaultColumnWidth(final Control control) {
    return 400;
}
}

现在您必须决定如何使用 id="com.example.myMarker"创建项目特定标记。

关于eclipse-pde - Eclipse 自定义标记 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511519/

相关文章:

eclipse - 如何在 clojure 中开发 Eclipse 插件?

eclipse-plugin - 使用 Rhino : classloader belongs to the plugin providing Rhino, 编写 Eclipse 脚本,而不是使用它的插件

eclipse - 为什么 Eclipse API 使用数组而不是集合?

debugging - 如何调试eclipse插件的启动?

java - Eclipse插件IConsole vs View

maven - 如何在不影响功能的情况下将一个大的 Jenkins 工作/项目拆分成更小的工作?

java - 从 java 项目转换为插件项目的选项在哪里?

java - osgi:片段在 eclipse pde 之外无法工作(并且没有出现错误)

Java:Eclipse 插件创建问题

android - 如何在 Eclipse 中使用布局 View 和 View 属性