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中,每个选定对象都是一个类型的对象,如IProject
或IFile
或者可能是JDT代码特有的对象。
Package-Explorer是一个插件,取决于JDT插件取决于……
您必须从Package-Explorer-Plugin中依赖您的插件。 在启动时,您必须找到type-hierarchys extends-point,其中type-hierarchy-registry创建新的typehierarchy-View on demand,添加您自己的click-listener并评估结果。
在插件开发中不是newbe的工作。 祝你好运