熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

開發Eclipse插件

2013-11-23 20:18:05  來源: Java開源技術 

  在本文中David Gallardo 向您展示了如何使用 Plugin Development Environment 的代碼生成向導來創建Eclipse插件您將學到如何在運行時工作台中運行和調試插件並且在 Eclipse 中安裝完成的插件David還研究了與打包插件相關的問題包括維護版本信息以插件片段的形式更新功能以及組合插件來創建完整的功能部件 
  
  基於插件的體系結構
  Eclipse平台是IBM向開發源碼社區捐贈的開發框架它之所以出名並不是因為IBM宣稱投入開發的資金總數 —千萬美元—而是因為如此巨大的投入所帶來的成果一個成熟的精心設計的以及可擴展的體系結構Eclipse的價值是它為創建可擴展的集成開發環境提供了一個開放源碼平台這個平台允許任何人構建與環境和其它工具無縫集成的工具 
  
  工具與 Eclipse 無縫集成的關鍵是插件除了小型的運行時內核之外Eclipse 中的所有東西都是插件從這個角度來講所有功能部件都是以同等的方式創建的從這個角度來講所有功能部件都是以同等的方式創建的 
  
  但是某些插件比其它插件更重要些Workbench 和 Workspace 是 Eclipse 平台的兩個必備的插件 — 它們提供了大多數插件使用的擴展點如圖 所示插件需要擴展點才可以插入這樣它才能運行 
  
  
 

  
Eclipse Workbench 和 Workspace必備的插件支持

  Workbench 組件包含了一些擴展點例如允許您的插件擴展 Eclipse 用戶界面使這些用戶界面帶有菜單選擇和工具欄按鈕請求不同類型事件的通知以及創建新視圖Workspace 組件包含了可以讓您與資源(包括項目和文件)交互的擴展點 
  
  當然其它插件可以擴展的Eclipse組件並非只有Workbench和Workspace此外還有一個Debug 組件可以讓您的插件啟動程序與正在運行的程序交互以及處理錯誤 — 這是構建調試器所必需的雖然 Debug 組件對於某些類型的應用程序是必需的但大多數應用程序並不需要它 
  
  還有一個 Team 組件允許 Eclipse 資源與版本控制系統(VCS)交互但除非您正在構建 VCS 的 Eclipse 客戶機否則 Team 組件就象 Debug 組件一樣不會擴展或增強它的功能 
  
  最後還有一個Help組件可以讓您提供應用程序的聯機文檔和與上下文敏感的幫助沒有人會否認幫助文檔是專業應用程序必備的部分但它並不是插件功能的必要部分 
  
  上述每個組件提供的擴展點都記錄在 Eclipse Platform Help 中該幫助在 Platform Plugin Developer 指南的參考部分中乍一看尤其是 API 參考大全的 Workbench 部分一開始會令人望而卻步我們不會深入了解眾多可用擴展點的詳細信息而只是粗略地看一個簡單插件及其組件 
  
  插件簡介
  創建插件最簡單的方法是使用 Plugin Development Environment(PDE)PDE 和 Java Development Tooling(JDT)IDE 是 Eclipse 的標准擴展PDE 提供了一些向導以幫助創建插件包括我們將在這裡研究的Hello world示例 
  
  從 Eclipse 菜單選擇 File=>New=>Other(或按 CtrlN)然後選擇 Select 對話框左邊的 Plugin Development 向導在 Select 對話框的右邊選擇 Plugin Project按 Next在下一屏上輸入項目名稱我使用了 comexamplehello再次按 Next在下一屏上請注意插件標識就與項目名稱相同使用項目名稱作為插件標識可以將該插件與另一個插件的名稱發生沖突的機會減到最小再按一次 Next下一屏讓您選擇是手工創建初始插件代碼還是運行代碼生成向導保留代碼生成向導的缺省選項選擇Hello World然後按 Next如圖 所示 
  
 educitycn/img_///gif>

  
選擇Hello World代碼生成向導

  下一屏要求一些附加信息請注意這一屏上的信息它包含了插件名稱版本號提供者名稱和類名這些是關於插件的重要信息我們將在稍後研究可以接受向導提供的缺省值按Next在下一屏幕上接受包名類名和消息文本的缺省值選擇Add the action set to the resource perspective復選框按 Finish 
  
  如果接到通知向導需要啟用某些其它插件才能完成那麼按 OK 
  
  過一會兒向導將完成而在您的工作區中將會有一個新的項目名為 comexamplehello如圖 所示 
  
 educitycn/img_///gif>

  
PDE 透視圖Welcome to Hello Plugin

  在Package Explorer中工作台的左邊是向導創建的一些東西的概述大多數項都不引人關注包括項目類路徑中的許多jar文件(這些包括插件和Java運行時所需的Eclipse類)一個圖標文件夾(包含了工具欄按鈕的圖形)以及 buildproperties 文件(包含自動構建腳本所使用的變量) 
  
  這裡最有意思的東西是 src 文件夾它包含了插件和 pluginxml 文件的源代碼 — pluginxml 是插件的清單文件我們將先查看 pluginxml 
  
  插件清單文件
  插件清單文件 pluginxml 包含了 Eclipse 將插件集成到框架所使用的描述信息缺省情況下當第一次創建插件時會在清單編輯器區域中打開 pluginxml編輯器底部的選項卡讓您可以選擇關於插件的不同信息集合Welcome 選項卡顯示了消息Welcome to Hello PlugIn並且簡要討論了所使用的模板和關於使用 Eclipse 實現插件的提示選擇Source選項卡可以讓您查看 pluginxml 文件的完整源代碼 
  
  讓我們看看插件清單文件的各個部分首先是關於插件的常規信息包括它的名稱版本號實現它的類文件的名稱和 jar 文件名 
  
  清單 插件清單文件 — 常規信息 
  
  <?xmlversion= encoding=UTF?>
  <plugin
  id=comexamplehello
  name=Hello Plugin
  version=
  providername=EXAMPLE
  class=comexamplehelloHelloPlugin>
  
  <runtime>
   <library name=hellojar/>
  </runtime>
   
  接著列出了我們的插件所需的插件 
  
  清單 插件清單文件 — 必需的插件 
  
       <requires>
   <import plugin=reresources/>
   <import plugin=orgeclipseui/>
  </requires>
  
  列出的第一個插件reresources是工作區插件但實際上我們的插件並不需要它第二個插件 orgeclipseui 是工作台我們需要工作台插件因為我們將擴展它的兩個擴展點正如後面的 extension 標記所指出的 [/img][/code]
  
 educitycn/img_///gif>

  
定制 Resource 透視圖

  操作集合包含了兩個標記menu標記(描述菜單項應該出現在工作台菜單的什麼位置以及如何出現)和action標記(描述它應該做什麼)—尤其是action標記標識了執行操作的類這個類不是上面列出的插件類 
  
  清單 操作集合 
  
         <extension
     point=orgeclipseuiactionSets>
   <actionSet
      label=Sample Action Set
      visible=true
      id=comexamplehelloactionSet>
     <menu
        label=Sample &Menu
        id=sampleMenu>
      <separator
         name=sampleGroup>
      </separator>
     </menu>
     <action
        label=&Sample Action
        icon=icons/samplegif
        class=comexamplehelloactionsSampleAction
        tooltip=Hello Eclipse world
        menubarPath=sampleMenu/sampleGroup
        toolbarPath=sampleGroup
        id=comexamplehelloactionsSampleAction>
     </action>
   </actionSet>
  </extension>
   
  許多菜單和操作屬性的目的相當明顯 — 例如提供工具提示文本和標識工具欄項的圖形但還要注意 action 標記中的 menubarPath這個屬性標識了 menu 標記中定義的哪個菜單項調用 action 標記中定義的操作有關這個和其它工作台擴展點的詳細信息請參考 Platform Plugin Developer Guide尤其是Plugging into the workbench章節(可以從 Eclipse 的幫助菜單中獲取該指南) 
  
  由於我們選擇了將插件添加到 Resource 透視圖於是生成了第二個 extension 標記這個標記會導致當 Eclipse 第一次啟動並裝入我們的插件時將插件添加到 Resource 透視圖 
  
  清單 extension 標記 
  
        <extension
     point=orgeclipseuiperspectiveExtensions>
   <perspectiveExtension
      targetID=orgeclipseuiresourcePerspe
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28258.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.