Eclipse插件:获取用户点击/选择的类名

我正在创建一个Eclipse插件。 一旦用户选择/点击包浏览器中的类名 ,然后我想在自定义视图中显示它,我就会陷入需要获取类名的部分。 (粗略地说,我想在自定义视图中调用与该类名对应的另一个软件的API)。 但我无法在用户点击时提取class级名称。 此function类似于“类型”视图,只要用户在项目资源管理器中单击.java,就会在视图中显示相应的类文件。 我对插件开发很新,请指导我。谢谢。

首先找到视图:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IViewPart viewPart = page.findView(id); 

Packages Explorer视图的id是org.eclipse.jdt.ui.PackageExplorer

如果视图未打开,则viewPart将为null。

从视图站点获取选择提供程序:

 ISelectionProvider selProvider = viewPart.getSite().getSelectionProvider(); 

您现在可以使用addSelectionChangedListener来监听选择更改。

在选择事件中, getSelection()通常会返回包含当前选择的IStructuredSelection实例。 使用IStructuredSelection.iterator()迭代选择对象。

在Packages Explorer中,每个选定对象都是一个类型的对象,如IProjectIFile或者可能是JDT代码特有的对象。

Package-Explorer是一个插件,取决于JDT插件取决于……

您必须从Package-Explorer-Plugin中依赖您的插件。 在启动时,您必须找到type-hierarchys extends-point,其中type-hierarchy-registry创建新的typehierarchy-View on demand,添加您自己的click-listener并评估结果。

在插件开发中不是newbe的工作。 祝你好运