一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【插件開發(fā)】

 sofes 2018-06-11

  在真正接觸eclipse插件開發(fā)一個月后,對插件的開發(fā)過程以及技術要求,也有了一定的了解。遙想之前像無頭蒼蠅一樣亂撞亂學,真心覺得浪費了不少時間。這里就總結一下學習的主要過程以及需要的資料。

  Eclipse作為強大的開發(fā)IDE,本身也作為一款開源軟件,提供給了用戶強大的擴展能力。我們可以自己開發(fā)一款插件,只要放到插件目錄下,就可以使用。

  下面是本博文主要介紹的內容,希望能幫助新手對插件開發(fā)有一定的了解。

 

1 學習資料

  學習資料就是思維導圖上面介紹的幾種。由于國內搞這個方向的確實是少,也就是在一些大型公司或者專門開發(fā)一些設計工具的公司才會用到。因此,目前出版的書籍大多已經(jīng)不再印刷了,只能從網(wǎng)上下載電子版,或者從淘寶買稀缺的紙質書籍。

  關于書籍,推薦下面幾本。推薦書籍都有百度云盤鏈接可以下載。

  《Eclipse插件開發(fā)讀書筆記

  這本書相對于新手來說,還算不錯。因為網(wǎng)上可以輕松的找到源碼。對照著看書,容易理解一些。書籍的風格上也偏新手教學。

  《Eclipse插件開發(fā)》 

  這本書簡直就像一本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ā)的小技巧以及使用等等,謝謝支持。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美一区二区三区不卡高清视| 久久精品一区二区少妇| 老司机精品一区二区三区| 午夜国产精品国自产拍av| 出差被公高潮久久中文字幕| 日韩欧美国产精品中文字幕| 免费黄片视频美女一区| 日本熟妇五十一区二区三区| 在线观看免费无遮挡大尺度视频 | 99国产高清不卡视频| 九九久久精品久久久精品| 久久99亚洲小姐精品综合| 国产又大又黄又粗又免费| 亚洲天堂有码中文字幕视频| 人妻久久这里只有精品| 国产偷拍盗摄一区二区| 亚洲精品日韩欧美精品| 亚洲国产精品久久网午夜| 亚洲高清一区二区高清| 日本三区不卡高清更新二区| 美女被啪的视频在线观看| 东京热男人的天堂社区| 日本不卡视频在线观看| 中文字幕有码视频熟女| 欧美极品欧美精品欧美| 黑鬼糟蹋少妇资源在线观看 | 久久精品久久久精品久久| 日韩成人午夜福利免费视频| 中文字幕人妻日本一区二区| 又大又长又粗又黄国产| 黄片免费在线观看日韩| 91爽人人爽人人插人人爽| 久久大香蕉一区二区三区| 最新午夜福利视频偷拍| 欧美一区二区日韩一区二区| 欧美国产日本高清在线| 日韩精品人妻少妇一区二区| 亚洲国产成人久久一区二区三区| 国产一区二区三区丝袜不卡 | 免费播放一区二区三区四区| 亚洲中文字幕剧情在线播放|