欢迎来到天天文库
浏览记录
ID:9296419
大小:1.96 MB
页数:47页
时间:2018-04-27
《eclipse插件开发彻底攻略》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Eclipse插件开发彻底攻略Eclipse插件开发之开篇简介http://www.cnblogs.com/liuzhuo/archive/2010/08/11/eclipse_plugin_0.html 一直想做点什么事情,正好最近公司想作一些关于eclipse插件开发的工作。领导们从日本带回来了《Eclipse3.4対応Eclipse3.4プラグイン開発徹底攻略》这本书。作为对本书的学习,我想把这本书的内容作一个大概的翻译。 本书作者:竹添直树、志田隆弘、奥畑裕树、里见知宏、野池智也。
2、 本书一共分三个部分对插件开发进行了介绍,分别是:基础知识篇、实践篇、高级篇。 基础篇分别对Eclipse和插件的概要、插件开发的基本概念、OSGi和SWT进行了介绍。 实践篇对视图、向导、插件设置的保存、文本编辑器、动作、EclipseForms、透视图、Builder和Nature、如何嵌入帮助、如何发布插件、插件的国际化、扩展点的定义进行了介绍。 高级篇分别介绍了JDT、GEF、WTP、DTP、RCP。 在我个人看来这本书是个不错的教材,希望在翻译的过程中跟大家讨论学习。Eclip
3、se插件开发之基础篇(1)插件开发的基础知识http://www.cnblogs.com/liuzhuo/archive/2010/08/13/eclipse_plugin_1_0_2.html名词翻译 有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。 アーキテクチャ=architecture=架构 プラットフォーム=platform=平台 コンポーネント=component=组件 其余的随时补充。 1.Eclipse的架构 Eclipse被作为java的IDE(集成开发环境
4、)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。因此,它采用了可以自由的增加各种功能的插件架构技术。Eclipse平台的基本架构如图1-1所示。 图1-1Eclipse的架构 在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在Eclipse3.0的时候才首次引入了OSGi。OSGi是openservicesgatewayinitiative的简称、原本是一种为嵌入式硬件开发的,使网络
5、上的服务提供者和使用者交互(結びつける)的注册服务。Eclipse使用OSGi来进行插件的管理。 OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。SWT和JFace提供了用户接口(UserInterface)的API。由于SWT和JFace并不依赖于Eclipse,也有可能被作为类库单独使用。Eclipse不仅把基本的用户接口作为工作台API(WorkBenchAPI)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(ResourceAPI)的形式也被作为
6、基本API提供出来了。在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。 从Eclipse平台的角度看,SWT、JFace、工作台的部分就是EclipseRCP(RichClientPlatform)。EclipseRCP是基于Eclipse的富客户端技术,Eclipse不仅是一个开发工具,也可以作为一个通用的应用程序平台。EclipseRCP是Eclipse平台的子集,同时,Eclipse自身也是一个EclipseRCP的运用实例。 2.扩展点 插件为了自身能够对其他插件进行扩
7、展而提出了扩展点的概念。当要为插件增加功能的时候就可以利用这个扩展点。在扩展点的基础上,插件之间可以互相连接。图1-2使用扩展点进行扩展 扩展和扩展点的连接在程序执行时被建立,提供扩展点的插件事先并不知道该扩展点实际被扩展了什么样的行为。使用扩展点的插件需要在清单文件(plugin.xml)中像代码1-1那样,使用extension元素声明扩展。 extension元素中的schema由提供扩展点的插件决定,元素中的内容必须按照schema进行书写。代码1-1plugin.xml中声明扩
8、展?123 ...... 像上面这样的扩展点和扩展不断的积累重叠,使得Eclipse平台能够实现各种各样的功能。Eclipse平台提供的扩展点有·增加菜单项·增加视图·增加编辑器 等等,数量非常的多。本文将以使用频率相对较高的扩展点为中心进行介绍,在Eclipse的帮助中有Eclipse提供的所有扩展点的说明,大家在使用时可以参考。 当然,定义一个新的自制插件是绝对可能的。扩展点的定义方法会在[扩展点定义
此文档下载收益归作者所有