`
kerlubasola
  • 浏览: 709704 次
文章分类
社区版块
存档分类
最新评论

[Eclipse插件开发指南]2.3 审查已生成的代码

 
阅读更多

通过新建插件项目导航提供的一个简明的简单插件去审查这些代码。

● 插件清单

● 插件类

● 常用的视图

2.3.1. 插件清单

插件清单编辑器显示了两个插件清单文件:META-INF/MANIFEST.MFplugin.xml,它们是用于定义在系统中怎样去关联所有的其他东西。在你创建插件项目后这个编辑器将在第一个页面自动打开(图2-9).如果插件清单编辑器关掉了,双击文件META-INF/MANIFEST.MF或者plugin.xml能够重新打开它。接下来将对这个清单编辑器进行一个预览,在第三章我们将发现更多插件清单的细节。

虽然这个编辑器可以很方便的去修改插件的描述,它仍然可以使我们窥看编辑器不同部分是联系到哪些底层代码。点击MANIFEST.MF这个标签去显示META-INF/MANIFEST.MF的内容,这个文件对这个插件的运行方便进行了定义(图2-7).前两行将它定义成一个OSGi清单文件(看3.3部分,插件清单)。随后的那些规定了插件的名字、版本号、标识符、类路径以及该插件所依赖的其它插件。所有的这些都可以在插件清单编辑器中进行编辑。

图2-7. 插件清单编辑器MANIFEST.MF页面

image

点击plugin.xml标签显示文件plugin.xml的内容,它用于定义差价的扩张方面的内容(图2-8)。第一行表明了他是一个XLM文件,剩下的规定了插件的扩展部分。

图2-8. 插件清单编辑器plugin.xml页面

image

在清单插件的预览(Overview)页面显示了插件清单的一些大概的东西(图2-9)。在这个页面部分描述了大体的信息,比如插件的标识符(ID)、版本、名字、类以及提供者,这些相当于META-INF/MANIFEST.MF文件中的大部分信息。

Bundle-Name: Favorites Plug-in Bundle-SymbolicName: com.qualityeclipse.favorites; singleton:=true Bundle-Version: 1.0.0 Bundle-Activator: com.qualityeclipse.favorites.FavoritesPlugin Bundle-Vendor: Quality Eclipse

图2-9.插件清单编辑器预览页面

image

你可以在预览(Overview)页面编辑这些信息,或者是切换到MANIFEST.MF页面去直接修改。

附语:

改变除了plugin.xml和MANIFEST.MF的页面也许会导致插件清单去重定源的格式。如果你对某个清单文件的格式有特殊的要求,然后可以只用plugin.xml和MANIFEST.MF页面去执行编辑或者用其它的编辑器。

警告:META-INF/MANIFEST.MF的格式规则包括一些完整的非感性的规则,它们涉及到了一句的长度以及换行。谨慎小心的去编辑plugin.xml和META-INF/MANIFEST.MF。

系统插件依赖显示在插件清单编辑器Dependencies页面(图2-10)。

图2-10.插件清单编辑器Dependencies页面

image

它相当于META-INF/MANIFEST.MF文件的Require-Bundle

Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime

对于Favorites Plug-in来说,这个部分指出了它依赖org.eclipse.core.runtimeorg.eclipse.ui这两个插件。这个依赖声明不同于Favorites Plug-in项目的JAVA构建路径(以及我们所知的编译时期的classpath),原因是JAVA构建路径是编译时期要做的事,而插件的依赖关系同时也是在插件执行的时候生效的。因为项目被创建成了插件项目,而它具有org.eclipse.pde.PluginNature这样的性质(第14.3,性质,更多的项目特性),任何依赖关系的改变将会自动的反映到Java构建路径上去。如果你的两部分的插件没有同步,你可以有一个编译可构建了的插件,但是可能不会执行。

附语:编辑这些依赖列表而不是Java构建路径(Java build path),这样就可以做到两边总是自动同步。

作为选择,依赖可以被表示成Imported Packages在清单编辑器Dependencies页面(图2-10),这个可以相当于META-INF/ MANIFEST.MF文件中的Import-Package部分:

Import-Package: org.eclipse.ui.views, org.eclipse.core.runtime.model

运行期(Runtime)页面相当于META-INF/MANIFEST.MF文件中的Bundle-ClassPath,它是用于定义了插件用到了哪些库以及插件在执行的时候用到它们,这些包的前缀被用在每个库(用于优化插件的加载时间)。对于Favorites plug-in,所有的代码已经包含在了一个单独的JAR文件中,名字叫favorites.jar,它包含的所有类用"com.qualityeclipse.favorites"前缀:

Bundle-ClassPath: favorites.jar

图2-11.插件清单编辑器运行期(Runtime)页面

image

Favorites plug-in没有为插件导入任何的包去用或者是为了扩展。

扩展(Extensions)页(图2-12)显示了怎样扩展在系统中已经存在的插件,他们相当于plugin.xml文件的<extension point="org.eclipse.ui.views">

1

图2-12.插件清单编辑器扩展(Extensions)页面

image

Favorites plug-in声明了扩展自org.eclipse.ui插件在org.eclipse.ui.views扩展点中提供了一个附加的视图种类,名称叫做Quality Eclipse,还有一个新的视图叫Favorites。在扩展(Extensions)页的树的左边选中一个选项,它的属性会被显示在右边。在扩展(Extensions)页选择Favorites (视图)显示了名字、标识、类以及更多的信息。它们相当于XML属性<view>定义的内容。

最后,在清单编辑器扩展点页面(图2-13)可以定义一个新的扩展点,这样其他的插件能够在这个插件基础上进行扩展。现在Favorites plug-in没有定义任何的扩展点,因此不能被其他插件扩展。

图2-13.插件清单编辑器扩展点(Extension Point)页面


image

2.3.2. 插件的类

每个插件可以随意的定义一个类,标识插件来自一个可编程的扩展点,如预览(Overview)页(图2-9)显示的那样。在Favorites plug-in中类名为com.qualityeclipse.favorites.FavoritesPlugin.

当插件被激活的时候,Eclipse系统会将实例化插件类并在其他类之前进行加载。这个单独的类实例被Eclipse系统自始至终的运用。

典型的插件类声明成一个静态的域去引用这个单例,这样可以很容易的共享个插件。Favorites plug-in定义了一个名为plugin的域在构造器中进行了赋值,可以用getdefault方法去使用它。

附语:Eclipse系统总是实例化一个实例去集合一个插件的插件类。你可以谨慎的在构造器中增加一些代码,但是要确定你的代码不创造出任何实例出来。比如:

2.3.3. Favorites视图

除了插件清单以及插件类,新建插件项目向导自动生成了一个简单视图的代码,叫做Favorites。视图用一个简单的模型创建和显示了一些信息;在接下来的章节,这个视图将会与favorites模型挂钩,用来显示favorites模型包含的一些选项的信息。

本文系eclipselight.org(日食之光)原创文章,转载请注明出处。

固定链接:http://www.eclipselight.org/eclipse-plugin-tutorial/594/

分享到:
评论

相关推荐

    eclipse插件开发指南

    eclipse插件开发指南.pdf eclipse插件开发指南.pdf eclipse插件开发指南.pdf

    Eclipse插件开发指南

    ### Eclipse插件开发指南 #### 一、Eclipse概述 **1.1 Eclipse简介** Eclipse是一个开源的、可扩展的集成开发环境(IDE),主要应用于Java开发,但通过插件支持,它也广泛用于C/C++、PHP、Python、Ruby等其他语言...

    Eclipse插件开发指南.pdf

    ### Eclipse插件开发指南知识点详解 #### 一、Eclipse概述与优势 Eclipse是一款开源的集成开发环境(IDE),最初由IBM公司于2001年开发,并于同年11月作为开源软件发布。Eclipse的核心优势在于其高度可扩展性,...

    Eclipse插件开发实例

    本资源主要讲解Eclipse插件开发的实例,包括代码生成器插件的开发和Wizard向导的制作。通过本资源,读者可以了解Eclipse插件开发的基本步骤和Wizard向导的制作过程。 Eclipse插件开发 Eclipse插件开发是指在...

    Eclipse插件开发学习笔记全篇+源码.rar

    本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...

    Eclipse插件开发学习笔记.pdf

    Eclipse插件开发是扩展Eclipse功能的重要方式,开发者可以通过编写插件来增加Eclipse平台的自定义功能,从而提升开发效率,定制个性化的开发环境。Eclipse插件开发学习笔记将带领我们深入了解Eclipse插件开发的...

    eclipse插件开发指南 作者:陈刚

    《Eclipse插件开发指南》是由陈刚编著的一本专为开发者准备的教程,它深入浅出地介绍了如何在Eclipse平台上进行插件开发,是学习和掌握Eclipse插件开发的重要参考资料。Eclipse是一个广泛使用的开源集成开发环境...

    eclipse权威开发指南2光盘(插件开发部分代码)

    《Eclipse权威开发指南》是IT开发者们广泛参考的一本经典书籍,特别是在Eclipse插件开发领域。这本书深入探讨了如何利用Eclipse平台进行高效、灵活的软件开发,特别是其强大的插件体系结构。光盘中的"插件开发部分...

    Eclipse插件开发中编辑器代码的定位及背景色改变高亮

    Eclipse插件开发中编辑器代码的定位、背景色改变、高亮

    ECLIPSE插件开发 原书第3版.part1

    《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...

    Eclipse代码生成器插件开发

    Eclipse代码生成器插件开发 在本节中,我们将探讨Eclipse代码生成器插件开发的相关知识点。 一、插件开发基本概念 在Eclipse中,插件是一种可以扩展Eclipse功能的组件。插件可以提供新的功能、视图、编辑器等。要...

    eclipse插件开发PDF

    在描述中提到的Eclipse插件开发适合初学者,并且内容讲解细致,说明此指南覆盖了从基础到高级的内容,注重于让读者能够逐步掌握Eclipse插件的开发技能。此外,提到了SWT和JFace,这是Eclipse插件开发中常用的两个库...

    ECLIPSE插件开发 原书第3版.part4 克莱伯格(Eric Clayberg)

    《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》主要介绍了开发Eclipse商业插件的完整过程,并从标准窗口小部件工具集、命令与操作、视图、透视图、实现帮助、国际化等方面对创建Eclipse商业插件进行了详细...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的...Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar 下载资源后请评分,则会把资源分返还!!

    Eclipse插件开发方法与实战 2006 pdf 464页

    从提供的内容来看,书籍《Eclipse插件开发方法与实战》可能是一本系统地介绍Eclipse插件开发的实战指南。此书可能涵盖了Eclipse插件开发的各个方面,包括基本概念、开发流程、实战演练等。它不仅为初学者提供了入门...

Global site tag (gtag.js) - Google Analytics