以编程方式在项目资源管理器中选择/展开文件夹资源



在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));
}

最新更新