Eclipse插件开发1

      首先,本人也是刚刚开始学习插件方面的相关知识,有什么错误的地方也希望能指出来,共同进步。

      Eclipse本质上可以看作是一个整合了各种开发工具的平台,各种功能才用了可以自由插拔的插件方式进行管理,目前很多公司都有一套基于Eclipse开发的通用开发平台,将相关功能继承到平台中,以提高开发效率。以下是一张Eclipse架构图

   

      最底层的是OSGI,Eclipse从3.0的时候引入了OSGi进行插件的管理,它可以动态的安装、卸载、停止应用程序中的不同模块。SWT是一种开源的GUI编程框架,在它之前有SUN的AWT以及SWING,AWT的优势在于,简单,稳定,兼容于任何一个java版本,同时也是线程安全的。在AWT 中的图形用户界面是通过本地方法来实现的,每个AWT 方法都有一个与其对应的本地方法,称为peer。由于平台无关性的需要,AWT 所能够实现的功能是各种不同操作系统的图形库所提供的功能的交集。而SWING,则是为了解决AWT的很多缺点。SWING 提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。 它们是JFC的一部分。 它们支持可更换的观感和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意观感。 轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。Eclipse项目用称为SWT的的图形库和工具包取代了Java标准中的AWT和Swing。SWT直接调用了操作系统的图形库,从而使得Java应用程序的Look & Feel 与操作系统的习惯完全一致;更为重要的是,对本地方法的直接调用大幅度的提高了基于SWT 的Java应用程序的运行速度。Jface是对SWT的封装,可以应用于复杂的数据类型,如果要使用复杂的数据类型,就需要提供setContentProvider() 以 setLabelProvider()以兼容Jface控件,这个后面会介绍到。其他就是eclipse的RCP(服客户端技术) 、UI、帮助、搜索等等

     下面介绍以下插件的安装方法

       【方法1】:解压缩后直接放在Eclipse开发工具文件目录的Plugins下。

  【方法2】:在dropins里面创建XXX.link文件,然后以相对路径的方式放置插件。

  比如我们在这个目录下新建一个文件夹myplugin。那么link的内容应该是:path=myplugin\\XXX

        学习Eclipse插件开发 需要有一定的JAVA基础,还应该学习SWT、GEF(图形编辑框架)、EMF(复杂模型框架)等,当然你在学习插件时,你会发现用到很多的设计模式 如:工厂模式、适配器模式、单例模式、策略模式、命令模式等等。

 


 

猜你喜欢

转载自zrgzrgzrgzrg.iteye.com/blog/2274183