Eclipse命令的键绑定

时间:2011-06-20 12:44:05

标签: java eclipse eclipse-plugin eclipse-rcp

我想将 Toggle Breakpoint 命令org.eclipse.debug.ui.commands.ToggleBreakpoint绑定到 F9 键。

我以这种方式扩展org.eclipse.ui.bindings

<extension point="org.eclipse.ui.bindings">
  <scheme
        description="Default scheme for xvr"
        id="org.xvr.scheme"
        name="xvr.scheme"
        parentId="org.eclipse.ui.defaultAcceleratorConfiguration">
  </scheme>
  <key
        commandId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
        contextId="org.eclipse.ui.contexts.window"
        schemeId="org.xvr.scheme"
        sequence="F9">
  </key>

但是当我启动我的RCP应用程序时,如果按 F9 ,则没有任何反应。

我做错了什么?

修改

很抱歉误解了,但是我正在开发eclipse的新产品,我不能使用eclipse的首选窗口。

我必须通过org.eclipse.ui.bindings扩展点提供绑定。

EDIT2

感谢Paul,使用跟踪我看到按 F9

时会抛出异常
COMMANDS >>> execute >>> starting: id=org.eclipse.debug.ui.commands.ToggleBreakpoint; event=ExecutionEvent(Command(org.eclipse.debug.ui.commands.ToggleBreakpoint,Toggle Breakpoint,
        Creates or removes a breakpoint,
        Category(org.eclipse.debug.ui.category.run,Run/Debug,Run/Debug command category,true),
        ,
        ,,true),{},Event {type=1 StyledText {} time=25349140 data=null x=0 y=0 width=0 height=0 detail=0},org.eclipse.core.expressions.EvaluationContext@ffa7e1)
COMMANDS >>> execute >>> not handled: id=org.eclipse.debug.ui.commands.ToggleBreakpoint; exception=org.eclipse.core.commands.NotHandledException: There is no handler to execute for command org.eclipse.debug.ui.commands.ToggleBreakpoint

3 个答案:

答案 0 :(得分:4)

您需要将以下内容添加到plugin.xml,其中 defaultHandler 是一个扩展 AbstractHandler 并覆盖 execute()

   <extension point="org.eclipse.ui.commands">
    <command name="Remove All Comments"
        defaultHandler="commentremover.actions.CommentRemover"
        description="Removes all comments in source code"
        categoryId="org.eclipse.jdt.ui.category.source"
        id="commentremover.removeallcomments">
   </command>
</extension>

此外,您需要添加以下内容,其中 commandId 等于您在上面定义的命令的 id

    <extension point="org.eclipse.ui.bindings">
    <key sequence="Ctrl+Shift+D"
        commandId="commentremover.removeallcomments"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        contextId="org.eclipse.jdt.ui.javaEditorScope"/>
</extension>

以上是我需要让我的插件工作的全部内容。如果它出现在“Keys”首选项菜单中,您将知道它正在工作。当您按Ctrl + Shift + D时,它是一个删除源代码中所有注释的插件。

答案 1 :(得分:2)

我建议你去

Windows 偏好设置常规密钥

并简单地将 F9 分配给 Toggle Breakpoint 命令。

enter image description here

答案 2 :(得分:0)

您没有指定您正在使用的平台,但是......

一些平台 - 例如MacOS - F9 F10 等的关键任务无法更改: - (

您可以在Keys首选项页面中尝试使用常规Eclipse。