0

我希望能够在我的 Eclipse RCP 应用程序中定义一个透视图,而无需为它编写一个 java 类。这将允许我在不重新编译源代码并删除不必要的 java 类的情况下更改该观点。

目前我确实在 java 类中定义了一个透视图,如果我想修改它而不重新编译,我可以用不同的名称保存它,将首选项导出到一个.epf文件(从我正在运行的应用程序中)并将该_persp=行粘贴到我的应用程序pluginCustomization.ini,在运行时用-Declipse.pluginCustomization=.

这行得通,但是我无法使用 让这些复制的透视图出现在附加栏中org.eclipse.ui/PERSPECTIVE_BAR_EXTRAS,这样的 xml 透视图几乎无法编辑,因为它们都在一条线上,而且我仍然有一个不需要的 java 类挂在我身边不要使用。

  • 那么,在 Eclipse RCP 应用程序中,有没有一种方法可以在您的 pluginCustomization 文件中定义一个透视图,而无需 Java 类的支持?
    • 如果是这样,您是否可以_persp=针对包含格式良好的xml代码的文件定义该行,或者您是否坚持使用Everythingcompactedononeline
  • 或者,还有其他方法可以实现我想要的吗?
4

1 回答 1

1

我不确定,如果它是您正在寻找的东西,但您可能想尝试创建自己的扩展点(参见http://www.vogella.com/articles/EclipseExtensionPoint/article.html)例如。在这种情况下,您可能看起来像这样:

 <extension-point id="my.perspectives" name="perspectives" schema="perspectives.exsd"/>

一个元素“perspective”具有“id”属性,“identifier”类型和“org.eclipse.ui.perspectives/perspective/@id”作为参考(或者您可以将其设为“string”类型,如果您不想绑定到任何日食标识符)。

在您的 plugin.xml 中,然后添加如下内容:

<extension
         point="my.perspectives">
<perspective id="my.perpsective.id"/>
</extension>

然后您可以按如下方式处理您的扩展点:

for (IConfigurationElement element: Platform.getExtensionRegistry().getConfigurationElementsFor("my.perspectives")) {
  String perspectiveId = element.getAttribute("id");
}

并使用您的视角 id 做任何您想做的事情。希望有帮助。

于 2013-11-07T14:33:53.373 回答