繁体   English   中英

Eclipse插件:在用户单击/选择时获取类名

[英]Eclipse Plugin: Get the class name on user's click/selection

我正在创建一个Eclipse插件。 一旦用户在包浏览器中选择/单击类名 ,然后我想在自定义视图中显示它,我就陷入了需要获取类名的部分。 (通常,我想在与该类名称相对应的自定义视图中调用其他软件的API)。 但是我无法在用户单击时提取类名。 此功能类似于“类型”视图,在该视图中,只要用户在项目浏览器中单击.java,相应的类文件就会出现在视图中。 我是插件开发的新手,请引导我。谢谢。

首先找到视图:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

IViewPart viewPart = page.findView(id);

包资源管理器视图的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中的插件。 在启动时,您必须找到类型层次结构扩展点,其中类型层次结构注册表会根据需要创建新的类型层次结构视图,添加您自己的单击侦听器并评估结果。

不是插件开发中的新手作品。 祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM