【问题标题】:In an eclipse RCP application, can you define a perspective in your pluginCustomization file?在 Eclipse RCP 应用程序中,您可以在您的 pluginCustomization 文件中定义一个透视图吗?
【发布时间】:2013-11-07 09:30:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java eclipse-rcp perspective


    【解决方案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”作为参考(或者你可以让它只是一个“字符串" 类型,如果您不想绑定到任何 Eclipse 标识符)。

    在你的 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 做任何你想做的事。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 2014-12-07
      • 2011-04-28
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多