编程语言
首页 > 编程语言> > java-如何以编程方式更改包浏览器中的选择

java-如何以编程方式更改包浏览器中的选择

作者:互联网

我目前正在开发一个用于eclipse的插件,该插件可以分析Eclipse Workspace中项目之间的依赖关系和引用,并在其自己的类似UML的视图中显示它们.

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

但是,我的问题是,尽管我知道如何从程序包浏览器中获取给定的选择,但我仍无法找到一种方法来更改选择或仅以编程方式在程序包浏览器中打开一个项目.

有人对此问题有解决方案吗?

解决方法:

这个答案扩展了accepted answer的内容,但对于那些在使用PackageExplorerPart时出现“危险访问”警告的人们更进一步.
您看到的确切警告(更多信息可简化Google搜索)

Discouraged access: The type PackageExplorerPart is not accessible due
to restriction on required library
/eclipse_install_path/eclipse/plugins/org.eclipse.jdt.ui_3.9.1.v20130820-1427.jar

代码示例:

final IWorkbenchPart activePart = getActivePart();
if (activePart != null && activePart instanceof IPackagesViewPart) {
    ((IPackagesViewPart) activePart).selectAndReveal(newElement);
}

支持代码:

private IWorkbenchPart getActivePart() {
    final IWorkbench workbench = PlatformUI.getWorkbench();
    final IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow();
    if (activeWindow != null) {
        final IWorkbenchPage activePage = activeWindow.getActivePage();
        if (activePage != null) {
            return activePage.getActivePart();
        }
    }
    return null;
}

标签:eclipse,eclipse-plugin,package-explorer,java
来源: https://codeday.me/bug/20191201/2078316.html