EclipsePlugin开发深入理解查找Search功能及其扩展点.docVIP

  • 3
  • 0
  • 约2.45万字
  • 约 26页
  • 2017-02-09 发布于重庆
  • 举报

EclipsePlugin开发深入理解查找Search功能及其扩展点.doc

EclipsePlugin开发深入理解查找Search功能及其扩展点

深入理解查找(Search)功能及其扩展点查找功能是 Eclipse 中一个非常重要的特性,它提供了丰富的查找结果, 人性化的结果展示, 以及方便的定位,并可以查看查找历史记录(用户可以配置历史记录的个数)和使用上一次的条件重新运行查找功能。Eclipse3.4 插件开发版本提供了四种查找功能,包括文件查找,任务查找,Java 查找和插件查找,IBM RSA(Rational Software Architect)更是提供了多达八种的查找功能,因此,如何扩展 Eclipse 的查找功能,并实现特定于我们自己插件的查找功能,是插件开发者需要掌握的重要技能,本文将首先概要介绍 Eclipse 的查找功能;然后详细说明如何进行扩展查找功能,包括需要使用的扩展点和涉及到的接口和函数;最后以一个实例的形式引导读者深入理解 Eclipse 的查找功能。 引言 查找功能是计算机语言开发环境 / 平台的一个非常重要的特性。Eclipse 也不例外,它提供了丰富的查找功能(用户可以输入正则表达式或任意字符串,指定查找范围和匹配选项等等),并且提供了简单易用的接口方便开发人员扩展。Eclipse 的查找功能是基于 MVC 设计模式架构的,因此如果读者先前对 MVC 模式了解的话,有助于读者理解 Eclipse 的查找框架。在 Eclipse 的开发平台中,通过快捷键 CTRL+H 或者 Search 菜单可以激活其查找功能,如图 1 为 Eclipse3.4 插件开发版本按下快捷键时弹出的查找对话框(Search Dialog)。 图 1. Eclipse3.4 版本的查找对话框 如图 2 为 IBM RSA7.5.2 版本按下快捷键时弹出的查找对话框,提供了多大八种查找功能。 图 2. IBM RSA7.5.2 版本的查找对话框 总体而言,Eclipse 中的查找功能由三部分组成:查找对话框、查找页面和查找结果集视图;下面分别就这三部分进行具体描述。 查找对话框是 Eclipse 查找功能的入口,Eclipse 中所有的查找功能都可以在该对话框中找到,如图 1 和图 2 显示了 Eclipse 和 IBM RSA 中的查找对话框。查找对话框中包含了当前 Eclipse 开发平台提供的所有查找页面,如果用户页面觉得页面太多,可以通过“Customize …”按钮定制,只显示使用频率较高的查找页面,隐藏其它页面。虽然我们不能对这些页面排序,然而,Eclipse 提供了相应的扩展点(Extension point)让开发人员定制其查找页面的位置(通过 tabPosition 属性可以指定,下一节会进行详细介绍)。 查找页面是查找功能的入口,提供了查找模式和条件等内容的输入界面 GUI。在 Eclipse 中,为了保持查找功能的一致性,当我们的插件需要提供查找功能,通常会为其创建一个查找页面,并放在查找对话框里面。每一个查找功能对应有一个查找页面,用于接收用户进行查找的内容,范围等输入条件。如图 3 为 Clear Case 插件的查找页面。 图 3. Eclipse 中 ClearCase 的查找页面 作为一个完整的查找框架,还需要提供一个显示查找到结果集的界面。在 Eclipse 中,这个界面叫做查找结果集视图,它提供了丰富的工具栏和菜单,诸如上 / 下一个匹配项、重新查找、展开和收缩结果集等操作,并且可以根据查找结果的类型用相应的编辑器打开。Eclipse 中,所有的查找功能共用一个视图,该视图提供两种显示方式:表格(TableViewer)和树状结构(TreeViewer)。查找结果视图的标题为“Search”,如图 4 所示为作者使用 Eclipse 自带的文件查找搜索“*”的结果集视图。 图 4. Eclipse 中显示查找结果的视图 回页首 Eclipse 查找功能的扩展点 由上一节我们可知,Eclipse 的查找功能主要是由三部分组成:查找对话框、查找页面和查找结果集视图,至此,我们对 Eclipse 的查找功能有了感观的认识,本小节将从 Eclipse 提供的扩展点,函数,接口和类等方面详细说明 Eclipse 的查找功能。 查找对话框 / 查找页面的扩展点 如果我们想要插入一个查找页面到查找对话框中,那么需要添加扩展点 org.eclipse.search. searchPages。 该扩展点允许其他插件为特定的查找功能注册属于自己的查找页面。下面说明需要注意的扩展点的一些属性: id – 查找页面的唯一标志。 label – 显示在查找对话框中页面的标题。 class –创建查找页面显示的 control 的类,该类通常继承抽象类 org.eclipse. jface.dialogs. D

文档评论(0)

1亿VIP精品文档

相关文档