在真正接触eclipse插件开发一个月后,对插件的开发过程以及技术要求,也有了一定的了解。遥想之前像无头苍蝇一样乱撞乱学,真心觉得浪费了不少时间。这里就总结一下学习的主要过程以及需要的资料。

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

  下面是本博文主要介绍的内容,希望能帮助新手对插件开发有一定的了解。

1 学习资料

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

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

  《Eclipse插件开发读书笔记》

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

  《Eclipse插件开发》

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

  《GEF红皮书》

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

  论坛,其实没有太好的,毕竟开发人员少。

  还是看IBM的developer或者Eclipse的官方网站比较好。

  IBM Develper : http://www.ibm.com/developerworks/cn/java/os-ecplug/

  Eclipse Corner : https://wiki.eclipse.org/Eclipse_Corner

  博客

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

  首轮最佳推荐,【八进制】的博客,我学习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

  另外有一个小技巧:如果你想查看eclipse的版本,可以用记事本打开.eclipseproduct文件,里面可以看到eclipse的版本:

name=Eclipse Platform
id=org.eclipse.platform
version=4.4.0

  如果你想修改jvm或者绑定jdk的路径,可以修改eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

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技术开发,有一些很好的功能,都是需要付费试用的,所以“钱景”也是很大的。

  

  希望这个方向,能有更多新人注入!

  后续还会不断的更新,插件开发的小技巧以及使用等等,谢谢支持。

转载于:https://www.cnblogs.com/xing901022/p/4087900.html

【插件开发】—— 1 Eclipse插件开发导盲相关推荐

  1. eclipse插件开发_开发Eclipse插件

    eclipse插件开发 最近,我开始与一个团队合作开发Eclipse插件. 团队开发了一个很棒的插件,可以实现预期的目的. 因此,我检查了源并尝试构建它. 项目源包含所有必需的库,并且只能在Eclip ...

  2. Eclipse 插件开发遇到问题心得总结

    Eclipse 插件开发遇到问题心得总结 Posted on 2011-07-17 00:51 季枫 阅读(3997) 评论(0) 编辑 收藏 1.Eclipse 中插件开发多语言的实现 为了使用 . ...

  3. Eclipse插件开发中对于外部Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)...

    目的:Eclipse插件开发中,经常要引用第三方包或者是引用其他插件中的类,由于插件开发环境引用类路径的设置和运行平台引用类路径的设置不同,经常导致开发过程OK,一旦运行则出现NoClassDefFo ...

  4. eclipse插件开发示例

    eclipse所有的插件均以jar的形式存放在安装目录的plugins目录中,如果我们在eclipse中开发一个插件,最终也是需要打包为jar放入plugins目录中.eclipse插件开发也有一套流 ...

  5. 【eclipse】eclipse插件开发(一)

    eclipse本身是一个开源平台, 给用户提供了很多扩展点.我们完全可以开发属于自己的一套插件,安装在eclipse插件目录下,即可使用我们的插件. 下面说下eclipse插件的快速开发. 1.在ec ...

  6. eclipse插件开发资料 参考代码

    首页 zhangxinzhou 的BLOG 写留言 邀请进圈子 发消息 加友情链接 进家园 加好友 2011年度IT博客大赛 十大杰出IT博客评选中 博客统计信息 用户名:zhangxinzhou 文 ...

  7. [Eclipse插件开发-001] SWT/JFACE布局入门总结

    =============SWT布局管理器入门总结======================= 绝对定位: * setBounds(int x, int y, int width, int heig ...

  8. 视障人士体验自动驾驶:携导盲犬登车,未来有望“自己开”

    6月27日,滴滴出行首次面向公众开放自动驾驶服务.用户可通过滴滴APP线上报名,审核通过后,将能在上海自动驾驶测试路段,免费呼叫自动驾驶车辆进行试乘体验.现阶段,滴滴自动驾驶载人测试范围仅限于在上海开 ...

  9. 用鞋子给视障人士导航!这款“导盲鞋”可检测4米外障碍物,振动提醒躲避,一双2w5...

    来源:大数据文摘本文约2300字,建议阅读5分钟本文介绍视障人士的福音"导盲鞋". 80个人之中,就有一个视障人士. 这是中国盲人协会2019年5月的数据,也就是说,我国视障人数的 ...

最新文章

  1. SSE2 Intrinsics各函数介绍
  2. 活动 | 人工智能产学研生态建设研讨会报名开启
  3. 51nod 1040:最大公约数之和(数论)
  4. 美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作...
  5. 面试官:讲讲Spring框架Bean的加载过程
  6. 初面蚂蚁金服,java微积分第三方计算包
  7. 洛谷P1962 斐波那契数列题解
  8. lsof查看进程占用文件_lsof命令查看进程socket相关信息
  9. js 动态获取表格中的值并修改其他表格+js 动态拼接字符串
  10. 关于手思3.0 代码规范
  11. python运行程序的时间计算
  12. CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
  13. Flash Player Control for ASP.NET
  14. CCF201312-3 最大的矩形(解法二)(100分)(废除!!!)
  15. tracert查网络问题
  16. 计算机应用历年高考真题,春季高考历年真题-2013年天津市春季高考计算机试卷...
  17. [机器学习入门笔记] 2. 2022吴恩达机器学习Deeplearning.ai课程(回顾)
  18. 免费企业邮箱注册申请免费吗?哪个好用
  19. vscode使用angular
  20. cmd批处理的/d/l/r/f

热门文章

  1. 对 Entity 的初步构思
  2. jQuery的弹出窗口插件colorbox
  3. DataGrid/DataList封装操作函数库!
  4. give girls more options to choose
  5. 同类分析比较工具 google trend
  6. 【转】正则表达式简介及在C++11中的简单使用教程
  7. 谷歌开发者工具详解 Network篇
  8. 解锁新姿势 | 如何用配置中心实现全局动态流控?
  9. Day12 CSS简单用法
  10. CenterOS6.5 + OneinStack + Moodel3.23