【发布时间】:2013-10-04 21:08:12
【问题描述】:
在 Eclipse RCP 中,我以编程方式在项目中创建资源(包含文件的文件夹),我希望在项目资源管理器中选择并展开文件夹(我知道它的路径)(假设它已打开)。效果应该和“Link with Editor”按钮类似,但是这里的资源不是在编辑器中打开的。
【问题讨论】:
标签: java eclipse-plugin eclipse-rcp
在 Eclipse RCP 中,我以编程方式在项目中创建资源(包含文件的文件夹),我希望在项目资源管理器中选择并展开文件夹(我知道它的路径)(假设它已打开)。效果应该和“Link with Editor”按钮类似,但是这里的资源不是在编辑器中打开的。
【问题讨论】:
标签: java eclipse-plugin 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 以后使用 instanceof 类型模式:
if (view instanceof ISetSelectionTarget setSel) {
setSel.selectReveal(new StructuredSelection(object to show));
}
【讨论】:
IFolder),这样行吗?
IFolder 并且 tt 按预期工作。谢谢!