更改命令ids处理程序

时间:2017-09-06 06:30:28

标签: eclipse eclipse-rcp rcp

我需要更改命令id的处理程序。例如,ResetPerspectiveHandler的命令id是org.eclipse.ui.window.ResetPerspective。所以当我们给出命令是org.eclipse.ui.window.ResetPerspective时它会调用ResetPerspectiveHandler。现在我想限制不调用ResetPerspectiveHandler,而是在我给org.eclipse.ui.window.ResetPerspective时调用我自己的Handler。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您无法覆盖现有的命令处理程序。

您可以使用IExecutionListener侦听正在使用ICommandService执行的命令。在执行命令之前和之后通知侦听器。

ICommandService commandService = PlatformUI.getWorkbench().getAdapter(ICommandService.class);

commandService.addExecutionListener(listener);

您还可以使用以下方式收听特定命令:

Command command = commandService.getCommand("command id");

command.addExecutionListener(listener);