eclipse rcp keybindings不起作用

时间:2015-05-13 15:54:36

标签: eclipse-rcp e4

我正在尝试使eclipse键绑定工作。 我试图让rename命令工作。 我查看了一些教程并进行了实验。我在控制台(http://eclipsesource.com/blogs/2009/07/08/tip-tracing-keybindings-in-rcp/)中启用了命令和键绑定跟踪。

我创建了一个自定义命令:

com.mycompany.myproduct.command.rename

这是我到目前为止所得到的:

1)我尝试按照本教程http://www.vogella.com/tutorials/EclipseCommandsKeybindings/article.html进行操作,但我得出结论,这是针对e3的。这是因为您需要添加仅识别旧e3处理程序的命令插件。没有涉及xmi

2)我尝试使用xmi绑定上下文。我将命令注册在顶级命令树中,并连接到顶级处理程序树中的处理程序。 在绑定表部分,我有一个在Dialog和Windows上下文中工作的bindingTable。我添加了一个键绑定。序列为“F2”,它连接到我的自定义命令。

当我点击F2时,我会在跟踪中收到以下消息:

COMMANDS >>> execute >>> starting: id=org.eclipse.ui.edit.rename; event=ExecutionEvent(Command(org.eclipse.ui.edit.rename,Rename,
        Rename the selected item,
        Category(org.eclipse.ui.category.file,File,null,true),
        org.eclipse.ui.internal.MakeHandlersGo@1285594,
        ,,true),{},Event {type=1 Tree {} time=1480412218 data=null x=0 y=0 width=0 height=0 detail=0},org.eclipse.e4.ui.workbench.modeling.ExpressionContext@177fc1a)

简而言之,默认的eclipse IDE rename命令被触发(我的键绑定什么都不做),我的应用程序没有任何反应。

然而,如果我将序列更改为“M1 + 1”并按下ctrl + 1,会出现一个小弹出窗口,让我在“快速修复”(eclipse IDE命令)和我的重命名之间进行选择。如果我选择重命名处理程序就会触发。

现在,如何禁用eclipse IDE默认键绑定。步骤1中教程的说明肯定不会这样做。

谢谢!

2 个答案:

答案 0 :(得分:6)

您可以尝试强制E4以用户身份读取您的密钥绑定,添加"类型:user"标记到KeyBinding本身:

enter image description here

答案 1 :(得分:0)

我发誓有时,应用程序似乎只是希望我们受苦。我遇到了与您相同的问题;前一阵子我的键绑定工作正常,今天我注意到它不再起作用了。感谢这篇文章,我发现了2种解决方案:

    上面评论中的
  1. “类型:用户”
  2. 从运行配置中删除org.eclipse.ui;看来这是在我自己添加一些插件后按添加必需的插件时添加的