以编程方式触发 Eclipse 插件菜单项?

Trigger Eclipse plugin menu-entry programmatically?

我有这个问题:我的 Eclipse 插件中有一个菜单项。它有一个扩展 AbstractHandler 并覆盖 execute() 的处理程序,后者采用 ExecutionEvent 参数。

现在我要做的是在特定事件发生时触发这个函数。有人可以告诉我怎么做吗?

我想我必须以某种方式自己创建一个 ExecutionEvent

您可以使用IHandlerService来执行处理程序处理的命令,它将调用您的处理程序:

IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);

handlerService.executeCommand("command id", event);

如果您需要传递命令参数,executeCommand 还有另一种变体,它采用 ParameterizedCommand