Eclipse Plugin Development 從現(xiàn)在開始

最近做了一個Eclipse Plugin項目, 在各種文檔摸爬滾打了近3個月, 走了不少彎路.本文將Google這間雜貨鋪中關(guān)于eclipse plugin開發(fā)最有效的資源這里出來, 制成"藏寶圖", 希望你能在這里找到你需要的寶藏.

本文內(nèi)容涉及:

  • Eclipse核心架構(gòu)OSGi
  • Eclipse Plugin開發(fā)教程(推薦)
  • 如何獲取幫助文檔
  • 如何在Google/Bing/Baidu中搜索問題
  • 如何獲取實例代碼
  • 如何進行UI Automation測試
  • 如何使用maven搭建持續(xù)集成環(huán)境
  • 如何發(fā)布plugin

Eclipse Runtime 核心架構(gòu) OSGi

http://www.osgi.org/Technology/WhatIsOSGi
至少先要知道:
什么OSGi, 什么是Bundle, 在OSGi環(huán)境下jar包是如何組織的,這些是eclipse開發(fā)的前提.否則會被ClassLoader機制坑.

教程資源最全的地方

http://www.vogella.com/tutorials/eclipse.html
最好的資源都在這里, 基本不需要去其他地方找.

開發(fā)時如何獲取文檔

Eclipse for Plugin Deveopment -> Help Content.

  • Plug-in Development Environment(PDE) Overview: PDE Overview必看
  • Platform Plug-in Developer Guide: 開發(fā)文檔, Sample Code優(yōu)先在這里找.

Eclipse for Plugin Deveopment -> Dynamic Help

開啟動態(tài)幫助, 也是一個不錯的選擇

如何在搜索引擎中獲取幫助

如果使用eclipse + 問題, 搜索結(jié)果會被大量如何使用eclipse IDE的此條所淹沒.
搜索時推薦關(guān)鍵字: eclipse rcp + 你的問題, eclipse pde + 你的問題.

SWT Sample

Eclipse UI 使用的是JFace + SWT, 在這個里可以找到幾乎所有的UI Demo.
http://www.eclipse.org/swt/examples.php

UIAutomation 測試方案

SWTBot (推薦)

http://eclipse.org/swtbot/
需要編寫Java代碼

RCPTT ( 不推薦 )

可以錄制腳本, 但是直行的時候不穩(wěn)定. 如果使用它, 需要提前做好調(diào)研.

自動化構(gòu)建 - Maven Tycho plugin

CI環(huán)境

如果需要將Test/Coverage report提交到Sonar, 參考這篇

Quality analysis on Eclipse plugins with Tycho, Sonar, Jacoco and SWTBot

如何搭建eclipse updatesite

將plugin build結(jié)果扔到一個目錄, 然后將這個目錄以HTTP的發(fā)布就OK. 使用python的SimpleHttpServer能夠很好解決這個事情.

Build時如何更新plugin的版本號?

tycho-package-plugin 可以配置版本策略, 該策略可以描述如何替換MANIFEST中的version號:

MANIFEST:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: your plugin bundle name
Bundle-SymbolicName: com.yourcompany.app.bundle
Bundle-Version: 1.0.0.qualifier 

替換規(guī)則: 1.0.0.qualifier, qualifier 部分被替換.

<plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-packaging-plugin</artifactId>
    <version>${tycho.version}</version>
    <configuration>
        <format>yyyyMMddHHmm</format>
    </configuration>
</plugin>   

打出來的plugin version是: 1.0.0.201503011210. 這里的version不會影響jar的version號.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評論 25 708
  • 囍: 無論什么樣的女人,在穿上白紗的那一刻,都顯得無比圣潔和美麗,這大概就是婚紗的魅力。 謝謝閱覽! 喜歡就點個贊...
    田田圈Tina閱讀 1,521評論 16 60
  • 在中華民族五千年的歷史文化河流中,箏這一民族彈撥樂器經(jīng)歷了近三千年的歷史,早在統(tǒng)一六國的秦朝建立之前,箏便開始流傳...
    春習(xí)社閱讀 1,058評論 0 0
  • 她。 當(dāng)清晨的第一縷光輕柔的打在顧家大院的窗玻璃上時,那個在滿屋書香中趴在桌上的女子仍沉浸在夢鄉(xiāng)之中。 她的眉頭絲...
    妖妖冰閱讀 558評論 3 4

友情鏈接更多精彩內(nèi)容