如何以编程方式更改包资源管理器中的选择

Dra*_*ikk 5 java eclipse eclipse-plugin package-explorer

我目前正在为 Eclipse 开发一个插件,它分析 Eclipse 工作区中项目之间的依赖关系和引用,并将它们显示在类似 UML 的图表中的自己的视图中。

为了增加我的插件的实用性,我希望通过允许用户在包浏览器中打开一个项目并在适用的情况下通过单击显示的图形在编辑器中打开它来为图表添加交互性。

但是,我的问题是,虽然我知道如何从包资源管理器中获取给定的选择,但我无法找到更改选择的方法,或者只是以编程方式在包资源管理器中打开一个项目。

有没有人有这个问题的解决方案?

Dra*_*ikk 2

我已经找到了解决方案。Eclipse 确实提供了对 中的包资源管理器的直接访问org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart,但不鼓励这样做。

import org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart;

...

PackageExplorerPart part= PackageExplorerPart.getFromActivePerspective();
IResource resource =  /*any IResource to be selected in the explorer*/;

part.selectAndReveal(resource);
Run Code Online (Sandbox Code Playgroud)

这将突出显示 IResourceresource是什么,并根据需要展开树。