许多工作台API只能从IWorkbenchWindow或IWorkbenchPage访问。
我的问题是 我单击工具栏或按钮以获取当前工作的视图或编辑器
或
使用RCP eclipse查找Active Workbench页面或Active workbench窗口。
答案 0 :(得分:2)
使用以下内容获得有效IWorkbenchWindow
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow();
从窗口中您可以获得活动页面:
IWorkbenchPage activePage = activeWindow.getActivePage();
并从页面中可以看到活动编辑器(如果有):
IEditorPart activeEditor = activePage.getActiveEditor();
或活动部分(编辑或视图):
IWorkbenchPart activePart = activePage.getActivePart();
如果您在命令处理程序中并且拥有ExecutionEvent
对象,则还可以使用HandlerUtil
类从事件中获取这些对象。