我正在升级 RCP 应用程序以使用 Eclipse 4.2.1。我遇到的问题之一是我的自定义方案中的键绑定不再覆盖 Eclipse 键绑定。
我在一个示例插件项目中重现了这个问题。这是通过遵循然后改编本教程创建的。我无法附加项目本身,所以只包含了 plugin.xml 文件的内容。
我有自己的方案,它扩展了默认方案:
<scheme
id="test.MyScheme"
name="My Scheme"
parentId="org.eclipse.ui.defaultAcceleratorConfiguration">
</scheme>
我有一个带有键绑定Ctrl+的命令N:
<key
commandId="test.MyCommand"
contextId="org.eclipse.ui.contexts.window"
schemeId="test.MyScheme"
sequence="M1+N">
</key>
在 Eclipse 3.7.2 中,按Ctrl+N将运行我的命令。
在 Eclipse 4.2.1 中,它会弹出一个框,要求我在运行命令和启动“新建”向导之间进行选择。我需要做什么才能恢复原始行为?
plugin.xml 的完整内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
id="application"
point="org.eclipse.core.runtime.applications">
<application>
<run
class="test.Application">
</run>
</application>
</extension>
<extension
point="org.eclipse.ui.perspectives">
<perspective
name="RCP Perspective"
class="test.Perspective"
id="test.perspective">
</perspective>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="test.MyCommandHandler"
id="test.MyCommand"
name="My Command">
</command>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:org.eclipse.ui.main.menu">
<menu
id="fileMenu"
label="File">
<command
commandId="test.MyCommand"
label="My Command"
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.bindings">
<key
commandId="test.MyCommand"
contextId="org.eclipse.ui.contexts.window"
schemeId="test.MyScheme"
sequence="M1+N">
</key>
<scheme
id="test.MyScheme"
name="My Scheme"
parentId="org.eclipse.ui.defaultAcceleratorConfiguration">
</scheme>
</extension>
<extension
id="product"
point="org.eclipse.core.runtime.products">
<product
application="test.application"
name="My Product">
<property
name="appName"
value="My Product">
</property>
<property
name="preferenceCustomization"
value="plugin_customization.ini">
</property>
</product>
</extension>
</plugin>