在Eclipse RCP中,我以编程方式在项目中创建一个资源(包含文件的文件夹),我希望在项目资源管理器中选择并展开文件夹(我知道它的路径)(假设它已打开)。效果应该类似于"与编辑器链接"按钮的效果,但此处的资源不能在编辑器中打开。
首先获取工作台页面 -
在视图或编辑器中使用:
IWorkbenchPage page = getSite().getPage();
其他地方使用
page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
找到视图,ProjectExplorer
视图 ID 以 IPageLayout.ID_PROJECT_EXPLORER
表示
IViewPart view = page.findView(IPageLayout.ID_PROJECT_EXPLORER);
项目资源管理器视图实现了ISetSelectionTarget
因此您可以执行以下操作:
((ISetSelectionTarget)view).selectReveal(new StructuredSelection(object to show));
或者在 Java 16 及更高版本中使用实例类型模式:
if (view instanceof ISetSelectionTarget setSel) {
setSel.selectReveal(new StructuredSelection(object to show));
}