Eclipse插件開發之新手入門

 現在在internet上已經可以見到不少的eclipse插件開發的入門文章,這裏我寫本文的目的主要是將我自己的體會和最開始的學習告訴給大家。 同時也希望本文能使用最爲簡單的方法來讓大家瞭解開發eclipse插件的基礎。需要注意的是,要學習eclipse的插件開發,你需要:

  會使用eclipse來開發java應用程序

  瞭解插件這個詞的概念

  瞭解一些xml的知識 本文是一個入門的文章,只是向大家說明開發一個插件的簡單步驟,同時瞭解在開發插件時涉及到的技術面會有哪些。

  eclipse sdk概述

  我們通常使用的eclipse也就是我們這裏所說的eclipse sdk,這個sdk中包括了很多的內容,如下圖所示:




  運行時核心(eclipse platform) - sdk必須一個eclipse platform,它自身不具有任何對最終用戶有意義的功能, 它是一個加載所有插件的基礎平臺。也就是eclipse的運行時最小集合了。

  java 開發工具(jdt) - 我們所有的有關java的開發部分都是由這個插件來完成了,它形成了對於java最爲基礎的編輯、 編譯、運行、調試、發佈的環境。

  插件開發者環境(pde) - 開發插件的插件,我們如果要開發插件哪麼我們就會發現所有的工作環境都是由它來提供的。 它提供了用來自動創建、處理、調試和部署插件的工具。

  我們將來要開發的插件都是由平臺來加載和運行,而pde則是開發插件的開發環境,jdt則是開發插件時的java代碼的開發環境。

  創建插件項目

  設置引用項目

  開發插件時需要大量的外部庫,這些外部庫主要是現有的eclipse中各個插件所提供的庫。 爲了開發方便,我們先將這些外部庫由一個項目統一引用。

  從資源透視圖中,使用文件>導入...>外部插件和段。
  在下一步中選擇抽取源歸檔並在項目中創建源文件夾。
  到顯示稱爲選擇的屏幕,選擇 org.eclipse.ui,然後單擊完成按鈕。

  創建項目

  在eclipse需要創建一個空的插件項目,爲了讓我們更好的理解插件中各個文件的來源,我們從一個空白的插件項目開始:

  1) 打開新建項目...嚮導(文件>新建>項目...)並從插件開發類別中選擇插件項目。

  2) 將com.huangdong.examples.helloworld用作項目的名稱。缺省情況下,嚮導還會將com.huangdong.examples.helloworld設置爲標識。

  3) 最終,確保在插件代碼生成器頁面上選擇了創建空白插件項目。

  4) 當詢問您是否想切換到“插件開發”透視圖時,回答是。

  5) 選擇com.huangdong.examples.helloworld項目並打開屬性對話框。

  6) 在java構建路徑屬性中,選擇項目選項卡,並選擇項目org.eclipse.ui。這些包含了項目需要的導入類。

  7) 重建項目。
   創建一個插件內容

  創建一個新的小視圖

  下面我們爲該項目加入一個很簡單的視圖:

  1) 在項目的src目錄下創建包com.huangdong.examples.helloworld。

  2) 在此包中創建稱爲helloworldview的新類其超類爲org.eclipse.ui.part.viewpart。

  在helloworldview中加入以下代碼:

  package com.huangdong.examples.helloworld;

  import org.eclipse.swt.swt;
  import org.eclipse.swt.widgets.composite;
  import org.eclipse.swt.widgets.label;
  import org.eclipse.ui.part.viewpart;

  public class helloworldview extends viewpart {

  label label;

  public void createpartcontrol(composite parent) {
  label = new label(parent, swt.wrap);
  label.settext("hello world");
  }

  public void setfocus() {}
  }

  我們爲該類定義了一個變量lable,在createpartcontrol方法中初始化並設置了一個顯示的字符串。

  護展擴展點

  讓eclipse添加這個視圖,需要擴展org.eclipse.ui.views擴展點。所有的這些需要在plugin.xml中進行描述。該清單文件描述插件,包括插件的代碼所在的位置以及正在添加的擴展。

  將以下內容複製到plugin.xml中:

  <?xml version="1.0" encoding="utf-8"?>
  <plugin id="com.huangdong.examples.helloworld"
  name="com.huangdong.examples.helloworld"
  version="1.0.0"
  provider-name="huangdong">

  <runtime>
  <library name="helloworld.jar"/>
  </runtime>
  <requires>
  <import plugin="org.eclipse.ui"/>
  </requires>

  <extension point="org.eclipse.ui.views">
  <category
  name="hello"
  id="com.huangdong.examples.helloworld.hello">
  </category>
  <view
  name="hello greetings"
  category="com.huangdong.examples.helloworld.hello"
  class="com.huangdong.examples.helloworld.helloworldview"
  id="com.huangdong.examples.helloworld.helloworldview">
  </view>
  </extension>

  </plugin>


  在plugin域中定義了插件的名稱、標識和版本。 同時在runtime域中定義了插件代碼將打包於helloworld.jar文件中。 在requires域中定義了該插件所要使用的依賴插件,由於我們要使用swt api和工作臺所以列示了org.eclipse.ui。 最後,在extension中說明了要們要擴展org.eclipse.ui.views擴展點。 首先我們在category中定義了視圖的類別,在工作臺的顯示視圖對話框中,可以使用類別來將相關的視圖集中在一起。我們定義的類別名爲“hello”。 同時也定義了我們的視圖,名爲“hello greetings”,這個視圖將會顯示在“顯示視圖”對話框和視圖的標題欄中,這裏我們還通過class標識來說明了實現這個視圖的最終類。

  通過plugin.xml的定義,eclipse纔會真正的找到插件可以做的行爲,以及這些行爲最終實現的具體java類。

  在插件清單文件中使用了許多標識。 個別擴展點通常會定義需要標識的配置參數(例如,以上用於視圖擴展點的類別標識)。 我們還要定義插件標識。通常,應該對所有標識都使用 java 包名前綴,以便確保所有已安裝的插件都是唯一的。

  在前綴後面使用的特定名稱完全由您自己決定。 然而,如果插件標識前綴剛好與其中一個包的名稱相同,則應該避免在該包中使用類名。 否則,將很難分辨您正在查看標識名還是類名。

  還應該避免對不同的擴展配置參數使用相同的標識。 在上述清單中,已經使用了公共標識前綴(com.huangdong.examples.helloworld),但是,我們的所有標識都是唯一的。 此命名方法可以幫助我們閱讀文件並瞭解哪些標識是相關的。

  運行和測試插件

  運行插件是一件很簡單的事,這些在pde中給我們提供了很好的支持。 只需要在菜單中選擇運行>運行爲>運行時工作臺,在運行時會彈出一個重複插件的提示框,可以按確定跳過,不必在意。 這樣會啓動一個已經安裝好插件的eclipse。

  啓動後在菜單中選擇窗口>顯示視圖>其它,在顯示視圖對話框中會有一個分類爲hello,點開hello分類會看到hello greetings,選擇後點確定按鈕。在最下面的視圖中可以見到以下界面:



  到這裏,如果你看到了這個圖,哪麼恭喜你,你的第一個eclipse插件成功運行了 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章