Eclipse Plugin Development 從現在開始

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

本文內容涉及:

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

Eclipse Runtime 核心架構 OSGi

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

教程資源最全的地方

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

開發時如何獲取文檔

Eclipse for Plugin Deveopment -> Help Content.

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

Eclipse for Plugin Deveopment -> Dynamic Help

開啟動態幫助, 也是一個不錯的選擇

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

如果使用eclipse + 問題, 搜索結果會被大量如何使用eclipse IDE的此條所淹沒.
搜索時推薦關鍵字: 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 ( 不推薦 )

可以錄制腳本, 但是直行的時候不穩定. 如果使用它, 需要提前做好調研.

自動化構建 - Maven Tycho plugin

CI環境

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

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

如何搭建eclipse updatesite

將plugin build結果扔到一個目錄, 然后將這個目錄以HTTP的發布就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 

替換規則: 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號.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

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