1

我正在尝试使用以下代码获取 commandService 对象。

 IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 return (ICommandService) window.getService(ICommandService.class);

但在其中一种情况下,我们将没有工作台。

工作台不可用时如何获取 CommandService 对象。

有什么想法吗 ?

4

1 回答 1

1

您确定工作台不可用吗?或者仅仅是getActiveWorkbenchWindow()返回 null (例如,当从非 UI 线程调用时)。如果是这种情况,您可以在没有活动窗口的情况下获得命令服务,如下所示:

ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
于 2013-10-08T07:53:02.930 回答