Связывание клавиш для команд Eclipse - PullRequest
2 голосов
/ 20 июня 2011

Я бы хотел связать команду 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 .

Что я делаю не так?

EDIT

Извините за недоразумение, но я разрабатываю новый продукт для Eclipse и не могу использовать окно настроек Eclipse.

Я должен предоставить привязку через точку расширения org.eclipse.ui.bindings.

EDIT2

Благодаря Полу, используя трассировку, я увидел, что при нажатии 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 ]

4 голосов
/ 20 июня 2011

Вам необходимо добавить следующее в 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>

Выше все, что мне нужно, чтобы мой плагин заработал. Вы узнаете, что он работает, если он появится в меню настроек «Ключи». Это плагин, который удаляет все комментарии в исходном коде, когда вы нажимаете Ctrl + Shift + D.

2 голосов
/ 20 июня 2011

Я предлагаю вам перейти на

Windows Предпочтения Общие Клавиши

и просто назначьте F9 команде Toggle Breakpoint .

enter image description here

0 голосов
/ 20 июня 2011

Вы не указываете, на какой платформе вы работаете, но ...

одна из нескольких платформ - например, MacOS - назначение клавиш для F9 , F10 и т. Д. невозможно изменить: - (

Вы можете попробовать это и в обычном Eclipse со страницы настроек Keys.

...