排行榜 统计
  • 文章总数:1688 篇
  • 评论总数:5 条
  • 分类总数:8 个
  • 最后更新:2天前

eclipse插件开发简介

本文阅读 8 分钟
首页 常用工具 正文

 

1.  概述

eclipse最初是由IBM公司开发的下一代IDE开发环境,现在由eclipse基金会管理。eclipse已经成为最流行的Java IDE

 

说起eclipse,就离不开OSGi。自从eclipse3.0开始,其内核被移植到OSGi框架上,OSGibundle也成为插件的同意词。可以说,想要深入地了解eclipse插件开发,就必须同时对OSGi的相关内容进行深入了解。

 

2.  eclipse体系结构

eclipse不是一个一整块的程序,而是一个包含插件载入器和数百个插件包围的小内核。每个插件以结构化的方式在整体中发挥作用,可能依赖于其他插件提供的服务,也可能提供其他插件需要的服务。

 

插件结构

插件的依赖项和服务是在MENIFEST.MFplugin.xml文件中声明的,在启动时,插件载入器为每一个插件扫描MANIFEST.MFplugin.xml文件,然后创建一个包含该信息的结构。

 

工作区

eclipse IDE中可以显示和修改工作区中的文件。工作区中一个目录层次结构,包含用户文件,项目和源码;也可以包含插件状态信息,首选项等。工作区目录层次结构中的插件状态信息只与该工作区关联,而IDE,插件,静态资源和插件配置文件在多个工作区中共享。

 

3.  eclipse相关内容

eclipse的设计思想是:一切皆为插件。eclipse的核心很小,他的所有功能都是以插件的形式附加于eclipse核心上。

 

 

 

那么eclipse的开发需要了解哪些基本知识?

 

OSGi

属于eclipse开发的基础,对于简单的应用还可以无视OSGi的存在,对eclipse插件开发越深入就越需要了解这部分内容。

 

OSGi环境中,需要了解bundle之间是如何协作,产生依赖的,怎样使用声明式服务或BluePrintbundle之间的关系进行解耦,如何对OSGi FrameworkBundleService进行生命周期管理。

 

学习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目录包结构中;

图标等资源——图标、图像等资源一般位于iconsimages文件夹下,通过Activator中的方法访问;

META-INF/MANIFEST.MF——描述插件运行时特性的文件;

plugin.xml——描述扩展和扩展点的XML配置文件;

 

eclipse的可重用性

eclipse中的RCP项目,你可以使用任何当前eclipse开发环境存在的bundle(还可以额外设置独立的Target Platform最为运行环境),也就是说,eclipse暴露出来的工具类都可以被拿来使用,并且可以拿到源代码。

 

插件是基于一个或多个作为eclipse一部分的基础插件创建的,被分散成几个组,并更进一步地分离成UICoreUI插件包含用户界面的内容或依赖于其他完成该任务的插件,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的帮助

该文章版权属于clamaa
摘录自:https://blog.csdn.net/clamaa/article/details/84602211

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://typecho.firshare.cn/archives/1337.html
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。避免网络欺诈,本站不倡导任何交易行为。如您私自与本站转载自公开互联网中的资讯内容中提及到的个人或平台产生交易,则需自行承担后果。本站在注明来源的前提下推荐原文至此,仅作为优良公众、公开信息分享阅读,不进行商业发布、发表及从事营利性活动。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。
-- 展开阅读全文 --
一文快速带您了解 KMM、Compose 和 Flutter 的现状 | 开发者说·DTalk
« 上一篇 12-26
Eclipse常用插件推荐
下一篇 » 12-26