在 Eclipse 项目资源管理器上下文菜单中添加 "Project" 上方的项目
Add item above "Project" in eclipse project explorer contextmenu
我正在为我们的开发环境开发基于 eclipse 的自定义 IDE。
在我的新视角中,我包含了一个 "Project Explorer" 并且我能够在上下文菜单中添加命令,但是当我在 "new" 类型中包含一个新的向导(项目向导)时,它会显示在 "Project" 向导
之下
而且我希望它高于它。
已附加此代码段的 plugin.xml
<extension point="org.eclipse.ui.navigator.navigatorContent">
<commonWizard
type="new"
wizardId="dev.xxx.wizard.XXXProject">
<enablement></enablement>
</commonWizard>
</extension>
当我从工具栏或菜单栏访问 New
时显示它(在我将它添加为布局中的快捷方式之后,在 IPerspectiveFactory[=17 的实现中=]
但由于某种原因它没有出现在 "Project Explorer" 下。但它在 "Navigator View"
下工作正常
使用 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>
您可能需要 'reset perspective' 才能取回零钱。
您还可以在 'Shortcuts' 选项卡的 'Window > Customize Perspective' 对话框中设置这些快捷方式。
如 NewActionProvider.java
中所述
"Project..." 组中没有可容纳 "My Project Wizard" 的菜单组 :(。
/**
* Adds a submenu to the given menu with the name "group.new" see
* {@link ICommonMenuConstants#GROUP_NEW}). The submenu contains the following structure:
*
* <ul>
* <li>a new generic project wizard shortcut action, </li>
* <li>a separator, </li>
* <li>a set of context senstive wizard shortcuts (as defined by
* <b>org.eclipse.ui.navigator.commonWizard</b>), </li>
* <li>another separator, </li>
* <li>a generic examples wizard shortcut action, and finally </li>
* <li>a generic "Other" new wizard shortcut action</li>
* </ul>
*/
"Project Explorer" 的 "New" 子菜单将始终采用这种格式,因此必须自己实现才能将项目添加到项目组中。亲爱的格雷格,谢谢你的时间。所以我要创建 NewActionProvider 的实现,如 https://cvalcarcel.wordpress.com/tag/commonwizard/
使用标准 ResourceNavigator
(
org.eclipse.ui.views.ResourceNavigator) 视图而不是 ProjectExplorer
。
在那里,新向导将自动分为项目向导和非项目向导,而前者会自动添加到与 Project...
向导相同的组中(它们实际上添加在它上面,无论menuGroupId
设置了什么)。
因此,如果您想正确实现问题中所述的行为,则必须使用 Navigator
视图或扩展它。
(我知道这个问题是专门针对 ProjectExplorer
提出的,但我认为我的回答可能对有类似问题的人有用)
我正在为我们的开发环境开发基于 eclipse 的自定义 IDE。
在我的新视角中,我包含了一个 "Project Explorer" 并且我能够在上下文菜单中添加命令,但是当我在 "new" 类型中包含一个新的向导(项目向导)时,它会显示在 "Project" 向导
而且我希望它高于它。
已附加此代码段的 plugin.xml
<extension point="org.eclipse.ui.navigator.navigatorContent">
<commonWizard
type="new"
wizardId="dev.xxx.wizard.XXXProject">
<enablement></enablement>
</commonWizard>
</extension>
当我从工具栏或菜单栏访问 New
时显示它(在我将它添加为布局中的快捷方式之后,在 IPerspectiveFactory[=17 的实现中=]
但由于某种原因它没有出现在 "Project Explorer" 下。但它在 "Navigator View"
下工作正常使用 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>
您可能需要 'reset perspective' 才能取回零钱。
您还可以在 'Shortcuts' 选项卡的 'Window > Customize Perspective' 对话框中设置这些快捷方式。
如 NewActionProvider.java
中所述"Project..." 组中没有可容纳 "My Project Wizard" 的菜单组 :(。
/**
* Adds a submenu to the given menu with the name "group.new" see
* {@link ICommonMenuConstants#GROUP_NEW}). The submenu contains the following structure:
*
* <ul>
* <li>a new generic project wizard shortcut action, </li>
* <li>a separator, </li>
* <li>a set of context senstive wizard shortcuts (as defined by
* <b>org.eclipse.ui.navigator.commonWizard</b>), </li>
* <li>another separator, </li>
* <li>a generic examples wizard shortcut action, and finally </li>
* <li>a generic "Other" new wizard shortcut action</li>
* </ul>
*/
"Project Explorer" 的 "New" 子菜单将始终采用这种格式,因此必须自己实现才能将项目添加到项目组中。亲爱的格雷格,谢谢你的时间。所以我要创建 NewActionProvider 的实现,如 https://cvalcarcel.wordpress.com/tag/commonwizard/
使用标准 ResourceNavigator
(
org.eclipse.ui.views.ResourceNavigator) 视图而不是 ProjectExplorer
。
在那里,新向导将自动分为项目向导和非项目向导,而前者会自动添加到与 Project...
向导相同的组中(它们实际上添加在它上面,无论menuGroupId
设置了什么)。
因此,如果您想正确实现问题中所述的行为,则必须使用 Navigator
视图或扩展它。
(我知道这个问题是专门针对 ProjectExplorer
提出的,但我认为我的回答可能对有类似问题的人有用)