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

时间:2013-12-02 12:32:42

标签: java eclipse eclipse-plugin

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

2 个答案:

答案 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中,每个选定的对象都是IProjectIFile类型的对象,或者是JDT代码特有的对象。

答案 1 :(得分:0)

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

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

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