我正在升级RCP应用程序以使用Eclipse 4.2.1。我遇到的一个问题是我的自定义方案中的键绑定不再覆盖Eclipse键绑定。
我在示例插件项目中重现了该问题。这是通过跟随,然后调整this tutorial创建的。我无法附加项目本身,因此只包含了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>
答案 0 :(得分:0)
旧机制似乎不起作用,但还有另一种方法。
答案 1 :(得分:0)
plugin.xml旁边的插件目录中可能缺少以下文件:
plugin_customization.ini
其内容应为:
org.eclipse.ui/KEY_CONFIGURATION_ID=test.MyScheme
另请参阅此tutorial和chapter here。