1. 概述
eclipse最初是由IBM公司开发的下一代IDE开发环境,现在由eclipse基金会管理。eclipse已经成为最流行的Java IDE。
说起eclipse,就离不开OSGi。自从eclipse3.0开始,其内核被移植到OSGi框架上,OSGi的bundle也成为插件的同意词。可以说,想要深入地了解eclipse插件开发,就必须同时对OSGi的相关内容进行深入了解。
2. eclipse体系结构
eclipse不是一个一整块的程序,而是一个包含插件载入器和数百个插件包围的小内核。每个插件以结构化的方式在整体中发挥作用,可能依赖于其他插件提供的服务,也可能提供其他插件需要的服务。
插件结构
插件的依赖项和服务是在MENIFEST.MF和plugin.xml文件中声明的,在启动时,插件载入器为每一个插件扫描MANIFEST.MF和plugin.xml文件,然后创建一个包含该信息的结构。
工作区
在eclipse IDE中可以显示和修改工作区中的文件。工作区中一个目录层次结构,包含用户文件,项目和源码;也可以包含插件状态信息,首选项等。工作区目录层次结构中的插件状态信息只与该工作区关联,而IDE,插件,静态资源和插件配置文件在多个工作区中共享。
3. eclipse相关内容
eclipse的设计思想是:一切皆为插件。eclipse的核心很小,他的所有功能都是以插件的形式附加于eclipse核心上。
那么eclipse的开发需要了解哪些基本知识?
OSGi
属于eclipse开发的基础,对于简单的应用还可以无视OSGi的存在,对eclipse插件开发越深入就越需要了解这部分内容。
在OSGi环境中,需要了解bundle之间是如何协作,产生依赖的,怎样使用声明式服务或BluePrint对bundle之间的关系进行解耦,如何对OSGi Framework,Bundle,Service进行生命周期管理。
学习OSGi相关内容推荐读这本《OSGi实战》:
SWT/JFace
Sun开发了可移植的,仿真的窗口小部件库,被称为JFC,更普遍的名称是Swing;但Swing应用程序更像是Swing应用程序,而不是平台原生的应用程序。
SWT被设计为占有尽量少的JVM内存,经过一段时期的发展,SWT发现其在RCP中开发应用程序的开发者中受到大量欢迎,它是快速的、原生的、多平台的,它在一个平台尽可能的使用原生窗口小部件,并在没有相应窗口小部件的平台上模拟它们。
虽然SWT提供了原生系统窗口小部件的直接接口,但它被局限于只能使用简单数据类型,主要有字符串,数字和图像,这些都比较简单;但如果处理列表、表、树和文本部件中需要用到的面向对象的数据时,SWT是严重不匹配的,于是便提供了JFace查看器,为SWT提供了面向对象包装器。
GEF
图形编辑框架(Graphical Editing Framework)提供了用于用户信息进行图形表示的一个开发框架,用于创建动态的,交互的图形用户界面元素。GEF框架设计为使用MVC框架,模型保存显示的信息,并在会话之间保存,视图在屏幕上呈现信息,提供基本的用户交互,控制器协同模型和视图的活动。
4. eclipse插件的开发
eclipse插件开发必须建立在PDE环境(plugin develop environment)下,其中会存在对eclipse插件开发的rcp项目以及一些其他附加项目。
eclipse的扩展性
总体而言,eclipse本身就是一个开放的平台,其中的各个部分:菜单,工具栏,视图,透视图,编辑器,右键菜单,按钮,资源,首选项,这些都可以成为eclipse插件开发扩展的目标,这其中所有扩展部分都可能被讲解成单独的一章。
eclipse不仅对外发布了这些扩展点,还允许用户自定义扩展点,让其他人继续在插件上进行扩展。
eclipse插件内容
典型插件结构的文件包括以下内容:
Java类——组成插件的实际Java类,位于插件JAR文件的标准java目录包结构中;
图标等资源——图标、图像等资源一般位于icons或images文件夹下,通过Activator中的方法访问;
META-INF/MANIFEST.MF——描述插件运行时特性的文件;
plugin.xml——描述扩展和扩展点的XML配置文件;
eclipse的可重用性
在eclipse中的RCP项目,你可以使用任何当前eclipse开发环境存在的bundle(还可以额外设置独立的Target Platform最为运行环境),也就是说,eclipse暴露出来的工具类都可以被拿来使用,并且可以拿到源代码。
插件是基于一个或多个作为eclipse一部分的基础插件创建的,被分散成几个组,并更进一步地分离成UI和Core。UI插件包含用户界面的内容或依赖于其他完成该任务的插件,Core类插件可以在没有用户界面的环境中使用。
插件分类 |
含义 |
Core |
普通级别非UI插件组,组成了基本服务,如扩展处理,资源跟踪等 |
SWT |
标准窗口小部件工具集,与底层操作系统紧密关联,但具有与OS无关的API |
JFace |
基于SWT创建的附加UI功能的通用库 |
GEF |
图形编辑框架减轻了Rich Client的开发流程 |
Workbench Core |
提供eclipse ide本身的相关的非UI行为,如项目,项目属性和构建器等 |
Workbench UI |
提供eclipse ide本身相关的UI行为插件,如编辑器,视图,透视图,toolbar等 |
Team |
提供服务的插件组用于集成源码控制系统至IDE中 |
Help |
提供作为eclipse ide一部分的非UI的帮助 |
相关推荐
Eclipse插件开发学习笔记将带领我们深入了解Eclipse插件开发的方方面面。 首先,我们需要了解Eclipse插件的基础概念。在Eclipse中,插件主要由一系列的扩展点(Extension Points)组成,这些扩展点定义了插件可以...
### Eclipse插件开发指南知识点概览 #### 一、Eclipse概述 **1.1 Eclipse简介** - **1.1.1 Eclipse的历史背景** - Eclipse最初由IBM于2001年11月发布,版本号为1.0。 - 随着时间的发展,Eclipse逐渐成为了一个...
本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...
《Eclipse插件开发(第3版 - 高清)》是关于Eclipse平台扩展开发的一本经典著作,由[美] Dan Rubel撰写,并由陈沛等人翻译,ISBN为978-7-111-30336-7。这本书深入浅出地介绍了如何利用Java、SWT和JFace技术来构建...
#### 一、Eclipse插件开发简介 Eclipse插件开发是指在Eclipse平台上创建自定义插件的过程。Eclipse作为一个开源的集成开发环境(IDE),支持通过添加插件来扩展其功能。《Eclipse插件开发》第三版是一本经典的教程...
从提供的文件内容中,我们可以提取出关于Eclipse插件开发的多个知识点。 首先,Eclipse是一个用Java编写的开源集成开发环境(IDE),而Eclipse插件开发是指通过编写插件来扩展Eclipse的功能,实现从一个基本的代码...
Eclipse插件开发教程PPT是针对开发者设计的一份详细教学材料,旨在帮助他们了解并掌握如何利用Eclipse平台进行插件开发,从而定制自己的开发环境。以下是基于这个教程的几个关键知识点: 1. **Eclipse插件体系结构*...
Eclipse插件开发是为这个平台添加新功能或定制工作环境的关键技术。以下将详细介绍Eclipse插件开发的相关知识点。 一、Eclipse插件体系结构 Eclipse基于OSGi(Open Service Gateway Initiative)框架构建,它将整个...
本资料包包含了从基础到高级的Eclipse插件开发教程,覆盖了开发过程中的关键知识点,旨在帮助开发者深入理解和实践Eclipse插件的开发。 首先,我们来看《Eclipse插件开发 学习笔记 第1篇 开发基础》。这一部分通常...
Eclipse插件开发是提高工作效率和个性化开发环境的重要方式,因此掌握Eclipse插件开发方法具有重要的实用价值。 从提供的内容来看,书籍《Eclipse插件开发方法与实战》可能是一本系统地介绍Eclipse插件开发的实战...
《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...
Eclipse插件开发系列主要涉及的是如何利用Eclipse平台进行扩展和定制,使其满足特定的开发需求。Eclipse作为一个开放源代码的集成开发环境(IDE),具有强大的可扩展性,其核心架构支持通过插件机制来增加新功能或...
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》既包含了开发Eclipse插件的基础理论,也涵盖了大量关于Eclipse插件开发的细节。 《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》不仅适用于Eclipse插件...
标题中的“Eclipse插件开发方法与实战”告诉我们文档的主题是关于Eclipse这个集成开发环境(IDE)的插件开发。Eclipse是一个功能强大的开源IDE,最初由IBM开发,用于Java语言开发,但后来支持了其他多种编程语言和开发...
神州数码作为一家专注于IT服务的公司,可能会对Eclipse插件开发有深入的需求,因此在面试过程中,掌握Eclipse插件开发技术是非常重要的。下面将详细介绍Eclipse插件开发的相关知识点。 一、Eclipse插件体系结构 ...
Eclipse插件开发是Java开发领域中的一个重要分支,它允许开发者通过扩展Eclipse IDE的功能来创建自定义的工作环境。这份“Eclipse插件开发笔记源码”提供了丰富的学习材料,帮助开发者深入理解并实践Eclipse插件开发...
总之,Eclipse插件开发是一个充满挑战和机遇的领域,掌握了其核心原理和技术要点后,开发者可以为Eclipse添加无限可能,满足各种开发需求。无论是初学者还是经验丰富的开发者,都能在Eclipse插件开发中找到乐趣和...
《Eclipse插件开发学习笔记》PDF 高清版
标题中的"使用Eclipse插件开发环境构建模板"是指在Eclipse中开发自定义模板,这些模板能够帮助开发者快速生成常见的代码片段或项目结构,从而节省手动编写的时间。模板系统是Eclipse IDE的一大特色,允许用户定制...