我正在尝试使用以下代码获取commandService对象。
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
return (ICommandService) window.getService(ICommandService.class);
但在其中一个场景中,我们不会有工作台。
如果工作台不可用,如何获取CommandService对象。
有什么想法吗?
答案 0 :(得分:1)
您确定工作台不可用吗?或者只是 getActiveWorkbenchWindow()返回null(例如从非UI线程调用时)。如果是这种情况,您可以在没有活动窗口的情况下获取命令服务:
ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);