小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【插件開(kāi)發(fā)】

 sofes 2018-06-11

  在真正接觸eclipse插件開(kāi)發(fā)一個(gè)月后,對(duì)插件的開(kāi)發(fā)過(guò)程以及技術(shù)要求,也有了一定的了解。遙想之前像無(wú)頭蒼蠅一樣亂撞亂學(xué),真心覺(jué)得浪費(fèi)了不少時(shí)間。這里就總結(jié)一下學(xué)習(xí)的主要過(guò)程以及需要的資料。

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

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

 

1 學(xué)習(xí)資料

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

  關(guān)于書(shū)籍,推薦下面幾本。推薦書(shū)籍都有百度云盤(pán)鏈接可以下載。

  《Eclipse插件開(kāi)發(fā)讀書(shū)筆記

  這本書(shū)相對(duì)于新手來(lái)說(shuō),還算不錯(cuò)。因?yàn)榫W(wǎng)上可以輕松的找到源碼。對(duì)照著看書(shū),容易理解一些。書(shū)籍的風(fēng)格上也偏新手教學(xué)。

  《Eclipse插件開(kāi)發(fā)》 

  這本書(shū)簡(jiǎn)直就像一本API的教程,英文原版應(yīng)該說(shuō)是Eclipse開(kāi)發(fā)圣經(jīng),但是漢譯的沒(méi)什么特別感覺(jué),而且找不到源代碼。穿插著,用來(lái)熟悉API不錯(cuò)。

  《GEF紅皮書(shū)

  這本英文電子版的書(shū)籍,是從GEF的官網(wǎng)上就可以下載的。推薦研究GEF的時(shí)候再看。

 

  論壇,其實(shí)沒(méi)有太好的,畢竟開(kāi)發(fā)人員少。

  還是看IBM的developer或者Eclipse的官方網(wǎng)站比較好。

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

  Eclipse Corner : https://wiki./Eclipse_Corner

 

  博客

  這個(gè)可以說(shuō)是國(guó)內(nèi)開(kāi)發(fā)人員最好的學(xué)習(xí)地方了。

  首輪最佳推薦,【八進(jìn)制】的博客,我學(xué)習(xí)GEF基本就是總看他的博客,可惜他已經(jīng)不研究這個(gè)了,要不然可以作為領(lǐng)路人了。

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

  其他人的寫(xiě)的也不多,也就不做多說(shuō)了。

 

  源碼

  關(guān)于Eclipse插件的源碼,閱讀起來(lái)真心不是一般的累。因?yàn)闉榱擞瞎俜降拈_(kāi)發(fā)模式,我們自己開(kāi)發(fā)的插件,往往也十分龐大。一個(gè)簡(jiǎn)單的編輯器功能,基本上都要幾千行甚至上萬(wàn)的代碼。如果沒(méi)有一定的理論基礎(chǔ),看代碼是十分痛苦的。這里推薦幾個(gè)學(xué)習(xí)的源碼:

  【org.eclipse.draw2d.examples】,這里面有很多獨(dú)立啟動(dòng)的小應(yīng)用??梢詫W(xué)習(xí)很多插件相關(guān)的知識(shí),比如屬性開(kāi)發(fā),界面等等。

  【讀書(shū)筆記附帶源碼】, 結(jié)合書(shū)籍閱讀,簡(jiǎn)直是開(kāi)發(fā)必備。

  【GEF源碼】,官網(wǎng)都有下載,這里是3.6版本。這個(gè)插件安裝到eclipse后,會(huì)在新建工程的導(dǎo)航菜單里面,看到Examples文件夾,打開(kāi)就可以看到有幾個(gè)文件。這幾個(gè)都是GEF的樣例代碼,比如logic,可以給開(kāi)發(fā)者進(jìn)行學(xué)習(xí)和參考。

 

  另外呢,sourceForge以及github上面都有不少的開(kāi)源插件,但是大多比較龐大,大家可以針對(duì)某一些領(lǐng)域?qū)iT(mén)查找學(xué)習(xí)。

 

2 插件的安裝

  

  Eclipse插件通常以jar包形式存在,這個(gè)jar包需要先進(jìn)行解壓縮。

  【方法1】:解壓縮后直接放在Eclipse開(kāi)發(fā)工具文件目錄的Plugins下。

  【方法2】:在dropins里面創(chuàng)建XXX.link文件,然后以相對(duì)路徑的方式放置插件。

  比如我們?cè)谶@個(gè)目錄下新建一個(gè)文件夾my_plugins。那么link的內(nèi)容應(yīng)該是:path=my_plugins\\XXX

 

  另外有一個(gè)小技巧:如果你想查看eclipse的版本,可以用記事本打開(kāi).eclipseproduct文件,里面可以看到eclipse的版本:

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

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

復(fù)制代碼
-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
復(fù)制代碼

 

3 插件的調(diào)試以及創(chuàng)建

 

  之前整理過(guò)一篇圖片貼,是關(guān)于 如何創(chuàng)建一個(gè)插件開(kāi)發(fā)工程 ,那么這里就不再對(duì)創(chuàng)建工程做過(guò)多的描述了。

  一般插件都是以Eclipse Application方式啟動(dòng)調(diào)試,如果是Debug模式,當(dāng)你插入斷電后,運(yùn)行到此處會(huì)進(jìn)入debug調(diào)試模式。與正常的JAVA項(xiàng)目相同。

  當(dāng)然也有許多是在Java Application,也即是main函數(shù)里面創(chuàng)建的,比如org.eclipse.draw2d.examples里面的示例。

 

4 學(xué)習(xí)路線

  基本的路線就是要有一定的JAVA基礎(chǔ),要不然學(xué)習(xí)起來(lái)很吃力的。

  swt,主要是一些界面的布局開(kāi)發(fā)。

  GEF,是開(kāi)發(fā)編輯器的一種常用技術(shù)。

  EMF,是開(kāi)發(fā)復(fù)雜模型的框架。

  GMF,是GEF與EMF的整合,但是包含的插件包很多,因此不推薦學(xué)習(xí)。如果使用的話,自己整合GEF和EMF也是可以的。紅皮書(shū)里面有整合的內(nèi)容。

 

  關(guān)于設(shè)計(jì)模式,不得不說(shuō),Eclipse插件開(kāi)發(fā)里面涉及到了大量的設(shè)計(jì)模式。下面就簡(jiǎn)單的介紹下插件開(kāi)發(fā)中設(shè)計(jì)模式的典型應(yīng)用場(chǎng)景。

  

  【工廠方法】

  比如在GEF中的Control模塊,就是使用這種設(shè)計(jì)模式匹配Model與view之間的關(guān)系。

  【單例模式】

  由于eclipse面向的是整個(gè)開(kāi)發(fā)周期,因此資源的使用必須高效。在必要的時(shí)候,對(duì)生命周期很長(zhǎng)的對(duì)象使用單例模式是必須的,比如Plugin對(duì)象。

  【適配器模式】

  對(duì)于不同的類(lèi),編輯器提供不同的處理方法。在Editor類(lèi)中,就需要對(duì)不同的類(lèi)進(jìn)行適配。

  【命令模式】

  編輯器里面,很多命令操作都是需要記錄的。比如我們刪除了一個(gè)模型節(jié)點(diǎn),需要通過(guò)撤銷(xiāo)操作恢復(fù)。那么數(shù)據(jù)都要保存在命令對(duì)象中,并且記錄在CommonStack里面,在必要的時(shí)候進(jìn)行Undo,Redo操作。

  【策略模式】

  對(duì)于復(fù)雜的應(yīng)用場(chǎng)景,有很多處理方法。為了便于對(duì)某一模型擴(kuò)展處理方法,策略模式也是經(jīng)典的處理方法。

  

  設(shè)計(jì)模式的學(xué)習(xí),可以參考之前整理的博文:設(shè)計(jì)模式總覽 進(jìn)行學(xué)習(xí)。

5 開(kāi)發(fā)前景

  說(shuō)到這個(gè),如果沒(méi)有一定的開(kāi)發(fā)價(jià)值,也許大家沒(méi)有學(xué)習(xí)的動(dòng)力。

  市場(chǎng)上的許多UML設(shè)計(jì)軟件都是使用Eclipse插件來(lái)開(kāi)發(fā)的,而且Eclipse的RCP富客戶(hù)端開(kāi)發(fā),應(yīng)用也十分廣泛。

  就說(shuō)目前流行的一款思維導(dǎo)圖軟件XMind,就是使用Eclipse的RCP技術(shù)開(kāi)發(fā),有一些很好的功能,都是需要付費(fèi)試用的,所以“錢(qián)景”也是很大的。

  

  希望這個(gè)方向,能有更多新人注入!

  后續(xù)還會(huì)不斷的更新,插件開(kāi)發(fā)的小技巧以及使用等等,謝謝支持。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多