如何获取特定 eclipse.core.command 的处理程序

how to get a Handler of a specific eclipse.core.command

我正在构建一个使用 org.eclipse.core.commands

的 Eclipse 插件

我已经实现了 IHandler 并在 plugin.xml 中使用关联的处理程序 class 声明了命令,现在我正在寻找一种方法来获取 plugin.xml 的实例=12=] 在应用程序的另一部分,为了设置命令的状态

来自IHandlerService 我只能在知道处理程序的情况下执行命令或激活命令。

我是否应该放弃在 plugin.xml 中指定 Handler 并仅以编程方式激活,并在 plugin.xml 中定义命令?

您可以要求 ICommandService 到 return 一个 Command 作为您声明的命令。 Command#getHandler 然后 return 您的处理程序。

请注意,如果给定命令有多个处理程序,active 处理程序将被 returned 或 null 如果没有活动的处理程序.