【问题标题】:Eclipse RCP: How to add a new element to a default Java dropdown menu in the toolbar(New Java Class)Eclipse RCP:如何在工具栏中的默认 Java 下拉菜单中添加新元素(新 Java 类)
【发布时间】:2016-02-17 00:07:32
【问题描述】:

我正在制作 RCP 应用程序。我需要更改“新 Java 类”下拉菜单:

拥有一个额外的元素(它用于创建一个新的自定义应用程序)。

我还需要将默认的“新建 Java 类”按钮更改为这个新的自定义应用程序元素。

我在 plugin.xml 中找不到扩展此下拉菜单所需的 ID。我目前的解决方案是在工具栏中创建一个全新的 menuContribution 并以某种方式隐藏旧的。但我认为应该可以在已经存在的命令上添加一个新命令。

【问题讨论】:

  • 请将图片添加到问题中,而不仅仅是链接。链接将来可能会中断。
  • 它说我需要 10 个声望点才能发布图片。
  • @fmorva 您是否尝试使用 Eclipse Spy 检查下拉菜单?
  • @GGrec 是的,它返回了以下内容: 活动贡献项目标识符:org.eclipse.jdt.ui.actions.NewTypeDropDown 活动操作集标识符:org.eclipse.jdt.ui.JavaElementCreationActionSet 可悲的是我无法窥探列表本身中的元素。另外我真的不知道如何处理上述信息,如何使用新元素对其进行扩展。

标签: java eclipse eclipse-plugin eclipse-rcp


【解决方案1】:

该下拉菜单由org.eclipse.jdt.internal.ui.wizards.NewTypeDropDownAction 类实现。

代码读取使用org.eclipse.ui.newWizards 扩展点声明的新向导列表。仅使用使用子元素声明 class 的新向导,该子元素本身包含值为 javatypeparameter 子元素。

这是使用这种格式的“接口”向导声明:

<wizard
    name="%NewJavaInterface.label"
    icon="$nl$/icons/full/etool16/newint_wiz.png"
    category="org.eclipse.jdt.ui.java"
    id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
  <class class="org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard">
     <parameter name="javatype" value="true"/>
  </class>
  <description>
     %NewJavaInterface.description
  </description>
   <keywordReference id="org.eclipse.jdt.ui.wizards.java"/>
</wizard>

  <class class="org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard">
     <parameter name="javatype" value="true"/>
  </class>

section 是下拉菜单要查找的部分。

Eclipse 帮助中似乎并未真正记录这种格式。

【讨论】:

  • 感谢您的快速帮助,它运行良好!您知道如何将向下箭头旁边的默认“New Java Class”按钮更改为这个新的自定义元素吗?
  • 另外,有没有办法改变向导的顺序?目前,新的自定义向导成为下拉菜单中的第一个。非常感谢您的帮助!
  • 无法更改默认操作。该顺序似乎就是找到新向导扩展点声明的顺序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 2014-07-11
相关资源
最近更新 更多