我正在创建一个Eclipse插件。一旦用户在包浏览器中选择/单击classname ,我就会陷入部分,我需要获取类名,然后我想在自定义视图中显示它。 (粗略地说,我想在自定义视图中调用与该类名对应的另一个软件的API)。 但我无法在用户点击时提取班级名称。此功能类似于“类型”视图,只要用户在项目资源管理器中单击.java,就会在视图中显示相应的类文件。我是一个很新的插件开发,请指导我。谢谢。
答案 0 :(得分:1)
首先找到视图:
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代码特有的对象。
答案 1 :(得分:0)
Package-Explorer是一个插件,取决于JDT插件取决于......
您必须从Package-Explorer-Plugin中依赖您的插件。在启动时,您必须找到type-hierarchys extends-point,其中type-hierarchy-registry创建新的typehierarchy-View on demand,添加您自己的click-listener并评估结果。
不是插件开发中newbe的工作。祝你好运。