1 Eclipse插件开发导盲

       Eclipse作为强大的开发IDE,本身也作为一款开源软件,提供给了用户强大的扩展能力。我们可以自己开发一款插件,只要放到插件目录下,就可以使用。

       下面是主要介绍的内容,希望能帮助大家对插件开发有一定的了解。
开发流程

1.学习资料

       学习资料就是思维导图上面介绍的几种。由于国内搞这个方向的确实是少,也就是在一些大型公司或者专门开发一些设计工具的公司才会用到。因此,目前出版的书籍大多已经不再印刷了,只能从网上下载电子版,或者从淘宝买稀缺的纸质书籍。

       关于书籍,推荐下面几本。推荐书籍都有百度云盘链接可以下载。

       《Eclipse插件开发学习笔记》提取码:6uty

       这本书相对于新手来说,还算不错。因为网上可以轻松的找到源码。对照着看书,容易理解一些。

在这里插入图片描述

       《Eclipse插件开发》提取码:wdr1

       这本书简直就像一本API的教程,英文原版应该说是Eclipse开发圣经,但是汉译的没什么特别感觉,而且找不到源代码。穿插着,用来熟悉API不错。

在这里插入图片描述

       《GEF红皮书》提取码:fuml

       这本英文电子版的书籍,是从GEF的官网上就可以下载的。推荐研究GEF的时候再看。

在这里插入图片描述

       博客

       这个可以说是国内开发人员最好的学习地方了。

       最佳推荐,"八进制"的博客,我学习GEF基本就是总看他的博客,可惜他已经不研究这个了,要不然可以作为领路人了。

       http://www.cnblogs.com/bjzhanghao/category/36197.html

       源码

       关于Eclipse插件的源码,阅读起来真心不是一般的累。因为为了迎合官方的开发模式,我们自己开发的插件,往往也十分庞大。一个简单的编辑器功能,基本上都要几千行甚至上万的代码。如果没有一定的理论基础,看代码是十分痛苦的。这里推荐几个学习的源码:

       【org.eclipse.draw2d.examples】,这里面有很多独立启动的小应用。可以学习很多插件相关的知识,比如属性开发,界面等等。

       【读书笔记附带源码】, 结合书籍阅读,简直是开发必备。

       【GEF源码】,官网都有下载,这里是3.6版本。这个插件安装到eclipse后,会在新建工程的导航菜单里面,看到Examples文件夹,打开就可以看到有几个文件。这几个都是GEF的样例代码,比如logic,可以给开发者进行学习和参考。

       另外呢,sourceForge以及github上面都有不少的开源插件,但是大多比较庞大,大家可以针对某一些领域专门查找学习。

2.插件的安装

在这里插入图片描述
       Eclipse插件通常以jar包形式存在,这个jar包需要先进行解压缩。

       【方法1】:解压缩后直接放在Eclipse开发工具文件目录的Plugins下。
       【方法2】:在dropins里面创建XXX.link文件,然后以相对路径的方式放置插件。比如我们在这个目录下新建一个文件夹my_plugins。那么link的内容应该是:path=my_plugins\XXX

3.插件的调试

       一般插件都是以Eclipse Application方式启动调试,如果是Debug模式,当你插入断电后,运行到此处会进入debug调试模式。与正常的JAVA项目相同。

       当然也有许多是在Java Application,也即是main函数里面创建的,比如org.eclipse.draw2d.examples里面的示例。

4.学习路线

       基本的路线就是要有一定的JAVA基础,要不然学习起来很吃力的。

       swt,主要是一些界面的布局开发。

       GEF,是开发编辑器的一种常用技术。

       EMF,是开发复杂模型的框架。

       GMF,是GEF与EMF的整合,但是包含的插件包很多,因此不推荐学习。如果使用的话,自己整合GEF和EMF也是可以的,红皮书里面有整合的内容。

       关于设计模式,不得不说,Eclipse插件开发里面涉及到了大量的设计模式。下面就简单的介绍下插件开发中设计模式的典型应用场景。

       【工厂方法】

       比如在GEF中的Control模块,就是使用这种设计模式匹配Model与view之间的关系。

       【单例模式】

       由于eclipse面向的是整个开发周期,因此资源的使用必须高效。在必要的时候,对生命周期很长的对象使用单例模式是必须的,比如Plugin对象。

       【适配器模式】

       对于不同的类,编辑器提供不同的处理方法。在Editor类中,就需要对不同的类进行适配。

       【命令模式】

       编辑器里面,很多命令操作都是需要记录的。比如我们删除了一个模型节点,需要通过撤销操作恢复。那么数据都要保存在命令对象中,并且记录在CommonStack里面,在必要的时候进行Undo,Redo操作。

       【策略模式】

       对于复杂的应用场景,有很多处理方法。为了便于对某一模型扩展处理方法,策略模式也是经典的处理方法。

5.开发前景

       说到这个,如果没有一定的开发价值,也许大家没有学习的动力。

       市场上的许多UML设计软件都是使用Eclipse插件来开发的,而且Eclipse的RCP富客户端开发,应用也十分广泛。

       就说目前流行的一款思维导图软件XMind,就是使用Eclipse的RCP技术开发,有一些很好的功能,都是需要付费试用的,所以“钱景”也是很大的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值