Eclipse作為強大的開發(fā)IDE,本身也作為一款開源軟件,提供給了用戶強大的擴展能力。我們可以自己開發(fā)一款插件,只要放到插件目錄下,就可以使用。 下面是本博文主要介紹的內容,希望能幫助新手對插件開發(fā)有一定的了解。
1 學習資料學習資料就是思維導圖上面介紹的幾種。由于國內搞這個方向的確實是少,也就是在一些大型公司或者專門開發(fā)一些設計工具的公司才會用到。因此,目前出版的書籍大多已經(jīng)不再印刷了,只能從網(wǎng)上下載電子版,或者從淘寶買稀缺的紙質書籍。 關于書籍,推薦下面幾本。推薦書籍都有百度云盤鏈接可以下載。 這本書相對于新手來說,還算不錯。因為網(wǎng)上可以輕松的找到源碼。對照著看書,容易理解一些。書籍的風格上也偏新手教學。 這本書簡直就像一本API的教程,英文原版應該說是Eclipse開發(fā)圣經(jīng),但是漢譯的沒什么特別感覺,而且找不到源代碼。穿插著,用來熟悉API不錯。 《GEF紅皮書》 這本英文電子版的書籍,是從GEF的官網(wǎng)上就可以下載的。推薦研究GEF的時候再看。
論壇,其實沒有太好的,畢竟開發(fā)人員少。 還是看IBM的developer或者Eclipse的官方網(wǎng)站比較好。 IBM Develper : http://www.ibm.com/developerworks/cn/java/os-ecplug/ Eclipse Corner : https://wiki./Eclipse_Corner
博客 這個可以說是國內開發(fā)人員最好的學習地方了。 首輪最佳推薦,【八進制】的博客,我學習GEF基本就是總看他的博客,可惜他已經(jīng)不研究這個了,要不然可以作為領路人了。 http://www.cnblogs.com/bjzhanghao/category/36197.html 其他人的寫的也不多,也就不做多說了。
源碼 關于Eclipse插件的源碼,閱讀起來真心不是一般的累。因為為了迎合官方的開發(fā)模式,我們自己開發(fā)的插件,往往也十分龐大。一個簡單的編輯器功能,基本上都要幾千行甚至上萬的代碼。如果沒有一定的理論基礎,看代碼是十分痛苦的。這里推薦幾個學習的源碼: 【org.eclipse.draw2d.examples】,這里面有很多獨立啟動的小應用。可以學習很多插件相關的知識,比如屬性開發(fā),界面等等。 【讀書筆記附帶源碼】, 結合書籍閱讀,簡直是開發(fā)必備。 【GEF源碼】,官網(wǎng)都有下載,這里是3.6版本。這個插件安裝到eclipse后,會在新建工程的導航菜單里面,看到Examples文件夾,打開就可以看到有幾個文件。這幾個都是GEF的樣例代碼,比如logic,可以給開發(fā)者進行學習和參考。
另外呢,sourceForge以及github上面都有不少的開源插件,但是大多比較龐大,大家可以針對某一些領域專門查找學習。
2 插件的安裝
Eclipse插件通常以jar包形式存在,這個jar包需要先進行解壓縮。 【方法1】:解壓縮后直接放在Eclipse開發(fā)工具文件目錄的Plugins下。 【方法2】:在dropins里面創(chuàng)建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 插件的調試以及創(chuàng)建
之前整理過一篇圖片貼,是關于 如何創(chuàng)建一個插件開發(fā)工程 ,那么這里就不再對創(chuàng)建工程做過多的描述了。 一般插件都是以Eclipse Application方式啟動調試,如果是Debug模式,當你插入斷電后,運行到此處會進入debug調試模式。與正常的JAVA項目相同。 當然也有許多是在Java Application,也即是main函數(shù)里面創(chuàng)建的,比如org.eclipse.draw2d.examples里面的示例。
4 學習路線基本的路線就是要有一定的JAVA基礎,要不然學習起來很吃力的。 swt,主要是一些界面的布局開發(fā)。 GEF,是開發(fā)編輯器的一種常用技術。 EMF,是開發(fā)復雜模型的框架。 GMF,是GEF與EMF的整合,但是包含的插件包很多,因此不推薦學習。如果使用的話,自己整合GEF和EMF也是可以的。紅皮書里面有整合的內容。
關于設計模式,不得不說,Eclipse插件開發(fā)里面涉及到了大量的設計模式。下面就簡單的介紹下插件開發(fā)中設計模式的典型應用場景。
【工廠方法】 比如在GEF中的Control模塊,就是使用這種設計模式匹配Model與view之間的關系。 【單例模式】 由于eclipse面向的是整個開發(fā)周期,因此資源的使用必須高效。在必要的時候,對生命周期很長的對象使用單例模式是必須的,比如Plugin對象。 【適配器模式】 對于不同的類,編輯器提供不同的處理方法。在Editor類中,就需要對不同的類進行適配。 【命令模式】 編輯器里面,很多命令操作都是需要記錄的。比如我們刪除了一個模型節(jié)點,需要通過撤銷操作恢復。那么數(shù)據(jù)都要保存在命令對象中,并且記錄在CommonStack里面,在必要的時候進行Undo,Redo操作。 【策略模式】 對于復雜的應用場景,有很多處理方法。為了便于對某一模型擴展處理方法,策略模式也是經(jīng)典的處理方法。
設計模式的學習,可以參考之前整理的博文:設計模式總覽 進行學習。 5 開發(fā)前景說到這個,如果沒有一定的開發(fā)價值,也許大家沒有學習的動力。 市場上的許多UML設計軟件都是使用Eclipse插件來開發(fā)的,而且Eclipse的RCP富客戶端開發(fā),應用也十分廣泛。 就說目前流行的一款思維導圖軟件XMind,就是使用Eclipse的RCP技術開發(fā),有一些很好的功能,都是需要付費試用的,所以“錢景”也是很大的。
希望這個方向,能有更多新人注入! 后續(xù)還會不斷的更新,插件開發(fā)的小技巧以及使用等等,謝謝支持。 |
|