使用 IPageLayout.addActionSet()
Use of IPageLayout.addActionSet()
我正在使用以下方法定义我自己的观点:
<extension point="org.eclipse.ui.perspectives">
在我的 IPerspectiveFactory::createInitialLayout() 实现中,我想使用 IPageLayout.addActionSet() 指向一个新的动作集。但是动作集已被弃用;推荐的替代方案是什么?
我想添加新动作集的原因是我希望 运行 菜单显示调试动作,而不是 运行 动作。如果我使用 layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET) 我会得到两者。所以我想我会用其中的调试变体定义我自己的动作集。但我想使用一个未弃用的 API。推荐什么
另一种方法是对菜单项使用 org.eclipse.ui.menus
扩展点。但是,您不能将其添加到透视图,而是必须使用 visibleWhen
元素来控制何时显示菜单。
例如,当插件开发透视图处于活动状态或正在使用搜索操作集时,PDE 插件将菜单添加到导航菜单的方式如下:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:navigate?after=open.ext2">
<separator
name="org.eclipse.pde.ui.openPluginArtifactSeparator"
visible="true">
</separator>
<command
commandId="org.eclipse.pde.ui.openPluginArtifact"
icon="$nl$/icons/obj16/open_artifact_obj.gif"
label="%pluginsearch.action.menu.name">
<visibleWhen>
<or>
<with
variable="activeWorkbenchWindow.currentPerspective">
<equals
value="org.eclipse.pde.ui.PDEPerspective">
</equals>
</with>
<with
variable="activeContexts">
<iterate
operator="or">
<equals
value="org.eclipse.pde.ui.SearchActionSet">
</equals>
</iterate>
</with>
</or>
</visibleWhen>
</command>
</menuContribution>
尽管操作集已被弃用,但它们在很长一段时间内都不会被删除,因为许多 Eclipse 代码仍在使用它们,因此您可能只想坚持使用它们。
我正在使用以下方法定义我自己的观点:
<extension point="org.eclipse.ui.perspectives">
在我的 IPerspectiveFactory::createInitialLayout() 实现中,我想使用 IPageLayout.addActionSet() 指向一个新的动作集。但是动作集已被弃用;推荐的替代方案是什么?
我想添加新动作集的原因是我希望 运行 菜单显示调试动作,而不是 运行 动作。如果我使用 layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET) 我会得到两者。所以我想我会用其中的调试变体定义我自己的动作集。但我想使用一个未弃用的 API。推荐什么
另一种方法是对菜单项使用 org.eclipse.ui.menus
扩展点。但是,您不能将其添加到透视图,而是必须使用 visibleWhen
元素来控制何时显示菜单。
例如,当插件开发透视图处于活动状态或正在使用搜索操作集时,PDE 插件将菜单添加到导航菜单的方式如下:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:navigate?after=open.ext2">
<separator
name="org.eclipse.pde.ui.openPluginArtifactSeparator"
visible="true">
</separator>
<command
commandId="org.eclipse.pde.ui.openPluginArtifact"
icon="$nl$/icons/obj16/open_artifact_obj.gif"
label="%pluginsearch.action.menu.name">
<visibleWhen>
<or>
<with
variable="activeWorkbenchWindow.currentPerspective">
<equals
value="org.eclipse.pde.ui.PDEPerspective">
</equals>
</with>
<with
variable="activeContexts">
<iterate
operator="or">
<equals
value="org.eclipse.pde.ui.SearchActionSet">
</equals>
</iterate>
</with>
</or>
</visibleWhen>
</command>
</menuContribution>
尽管操作集已被弃用,但它们在很长一段时间内都不会被删除,因为许多 Eclipse 代码仍在使用它们,因此您可能只想坚持使用它们。