快速业务通道

扩展Eclipse的Java开发工具 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
nce libraries ==========> selectionChanged First selected element is class org.eclipse.jdt.internal.core.JarPackageFragment ==========> selectionChanged First selected element is class org.eclipse.jdt.internal.core.ClassFile ==========> selectionChanged First selected element is class org.eclipse.jdt.internal.core.BinaryMethod

扩展Eclipse的Java开发工具(7)

时间:2011-02-23 IBM Dan Kehn

特别地,我们确认在用户界面中看到的东西与 JDT 模型类一一对应。我们之所以了解所显示的是作为选择的模型,而不是类似于字符串和图像的较低级的基本类型,要归功于另一个 Eclipse 框架,称为 JFace。这个框架在象字符串这样的基本类型(接近操作系统的窗口小部件希望使用这些基本类型)和更高级的模型对象(您的代码更愿意使用这些对象)之间进行映射。本文只是略微提及这个主题,因为我们设定的目标是扩展 JDT。本文将只讨论理解 JDT 扩展的基础所必需的知识。

回到输出,特殊的选项结果引起了我们的注意:它们对应于用户界面中 Java 成员的选择。清单 7 中重复了它们。

清单 7. selectionChanged 输出,再次研究

==========> selectionChanged First selected element is class org.eclipse.jdt.internal.core.SourceMethod ==========> selectionChanged First selected element is class org.eclipse.jdt.internal.core.BinaryMethod

这些类的包名中间的 internal 使人有点担心。但是,正如您通常会发现的,Eclipse 会有一个公共(public)接口,它对应于(内部)实现类,就如这里的例子。快速类查找揭示出:这些类都实现了看来很有希望成为这个问题答案的一组公共接口,也就是 ISourceReference 、 IJavaElement ,尤其还有 IMember 。最后!现在我们可以开始早就希望进行的扩展,这使我们去回答下一个问题。

如何扩展 JDT 的特定元素的用户界面(象 Outline 视图中的成员)?扩展视图还是它们的底层模型?

简单的“Hello, World”示例显示了添加菜单选项只需要在插件清单文件中添加几行 XML( <extension point="org.eclipse.ui.actionSet"> )以及一个处理实际操作的类( com.ibm.lab.helloworld.SampleAction )。向视图的下拉菜单、公共编辑器的工具栏以及弹出菜单添加操作基本上很简单。所提供的弹出菜单归结为两类:一类只与视图相关而与所选的对象无关(也就是,对视图的“空白处”单击鼠标右键通常会显示的“缺省”弹出菜单),另一类则更常见,它们与应用于所选对象的选项相关。在我们的例子中,我们希望目标只是具体选择的对象,所以通过在插件清单文件中定义一个扩展,我们将 提供的操作对象提供给这些对象的弹出菜单(对下面几个标识符进行了缩写,以获得更佳的格式;用‘…’表示),如清单 8 所示。

清单 8. 修饰符操作

<extension point="org.eclipse.ui.popupMenus">   <objectContribution     objectClass="org.eclipse.jdt.core.IMember"     id="...imember">    <menu      label="Soln: Modifiers"      path="group.reorganize"      id="...imember.modifiers">     <separator name="group1"/>     <separator name="group2"/>    </menu>    <action     label="Private"     menubarPath="...imember.modifiers/group1"     class="...jdt.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号