在项目资源管理器中右键单击时,如何将在新建->文件->其他中创建的向导添加到弹出菜单中

how to add Wizards created in New->File->others into popup menus when right click in project explorer

我在 File->New->Others 中创建了一个类别 "Enterprise"。其中有一些 Wizards 让我们说 "Instance"、"Component"、等。 现在我想要的是,当我右键单击 Project Explorer 并进入 New 时,应该可以看到这些向导本身。基本上是尝试制作那些向导的弹出菜单

所以我将弹出菜单创建为:

<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="true"
            locationURI="popup:common.new.menu?before=additions">
         <command
               commandId="CommandComponent"
               label="Component"
               style="push">
         </command>
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="CommandComponent"
            name="Component">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            commandId="CommandComponent">
      </handler>
   </extension>

现在我怎样才能将相同的 class 提供给向导组件的处理程序?

或者我是否必须编写一个具有相同功能但按照处理程序格式(如果可能)的新 class?

您使用 org.eclipse.ui.perspectiveExtensions 扩展点来定义新向导,它们使用 newWizardShortcut 元素显示在新菜单的顶层。

类似于:

<extension
     point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
        targetID="org.eclipse.jdt.ui.JavaPerspective">
     <newWizardShortcut
           id="org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard">
     </newWizardShortcut>
  </perspectiveExtension>

(这是新的 JUnit 测试用例快捷方式)。

您可能需要重置透视图或使用自定义透视图使项目可见,因为用户可以控制显示哪些快捷方式。

更多信息在 help

就像提到的 greg-449 一样,使用 "org.eclipse.ui.perspectiveExtensions" 扩展点将您的元素贡献给您想要的视角。

当您右键单击项目资源管理器或包资源管理器并单击新建时,此处显示的项目取决于您所在的视角。如果您处于 Java 视角,您会发现 Java 项目。如果您在 PDE 透视图中,您会发现 Plugin 项目。因此,最好以您想要的视角贡献您的项目类型。

这就是我所做的,以实现我的要求。

当我在项目资源管理器中右键单击时弹出菜单显示新建 -> 组件向导。我在文件 -> 新建 -> 其他中添加了。

<extension point="org.eclipse.ui.menus">
  <menuContribution allPopups="false" locationURI="popup:common.new.menu?after=new">
    <command commandId=" org.eclipse.ui.newWizard" style="push">
      <visibleWhen checkEnabled="false">
        <with variable="activeWorkbenchWindow.activePerspective">
          <equals value="org.eclipse.ui.resourcePerspective"></equals>
        </with>
      </visibleWhen>
      <parameter name="newWizardId" value="Component"></parameter>   
    </command>
  </menuContribution>
</extension>