<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    The Spark of Thinking

    Focus on Eclipse Tools.

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      3 隨筆 :: 27 文章 :: 4 評論 :: 0 Trackbacks
    現(xiàn)在在internet上已經(jīng)可以見到不少的eclipse插件開發(fā)的入門文章,這里我寫本文的目的主要是將我自己的體會和最開始的學(xué)習(xí)告訴給大家。 同時也希望本文能使用最為簡單的方法來讓大家了解開發(fā)eclipse插件的基礎(chǔ)。需要注意的是,要學(xué)習(xí)eclipse的插件開發(fā),你需要:

      會使用eclipse來開發(fā)java應(yīng)用程序

      了解插件這個詞的概念

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

      eclipse sdk概述

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




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

      java 開發(fā)工具(jdt) - 我們所有的有關(guān)java的開發(fā)部分都是由這個插件來完成了,它形成了對于java最為基礎(chǔ)的編輯、 編譯、運(yùn)行、調(diào)試、發(fā)布的環(huán)境。

      插件開發(fā)者環(huán)境(pde) - 開發(fā)插件的插件,我們?nèi)绻_發(fā)插件哪么我們就會發(fā)現(xiàn)所有的工作環(huán)境都是由它來提供的。 它提供了用來自動創(chuàng)建、處理、調(diào)試和部署插件的工具。

      我們將來要開發(fā)的插件都是由平臺來加載和運(yùn)行,而pde則是開發(fā)插件的開發(fā)環(huán)境,jdt則是開發(fā)插件時的java代碼的開發(fā)環(huán)境。

      創(chuàng)建插件項(xiàng)目

      設(shè)置引用項(xiàng)目

      開發(fā)插件時需要大量的外部庫,這些外部庫主要是現(xiàn)有的eclipse中各個插件所提供的庫。 為了開發(fā)方便,我們先將這些外部庫由一個項(xiàng)目統(tǒng)一引用。

      從資源透視圖中,使用文件>導(dǎo)入...>外部插件和段。
      在下一步中選擇抽取源歸檔并在項(xiàng)目中創(chuàng)建源文件夾。
      到顯示稱為選擇的屏幕,選擇 org.eclipse.ui,然后單擊完成按鈕。

      創(chuàng)建項(xiàng)目

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

      1) 打開新建項(xiàng)目...向?qū)Вㄎ募拘陆ǎ卷?xiàng)目...)并從插件開發(fā)類別中選擇插件項(xiàng)目。

      2) 將com.huangdong.examples.helloworld用作項(xiàng)目的名稱。缺省情況下,向?qū)н€會將com.huangdong.examples.helloworld設(shè)置為標(biāo)識。

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

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

      5) 選擇com.huangdong.examples.helloworld項(xiàng)目并打開屬性對話框。

      6) 在java構(gòu)建路徑屬性中,選擇項(xiàng)目選項(xiàng)卡,并選擇項(xiàng)目org.eclipse.ui。這些包含了項(xiàng)目需要的導(dǎo)入類。

      7) 重建項(xiàng)目。
       創(chuàng)建一個插件內(nèi)容

      創(chuàng)建一個新的小視圖

      下面我們?yōu)樵擁?xiàng)目加入一個很簡單的視圖:

      1) 在項(xiàng)目的src目錄下創(chuàng)建包c(diǎn)om.huangdong.examples.helloworld。

      2) 在此包中創(chuàng)建稱為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() {}
      }

      我們?yōu)樵擃惗x了一個變量lable,在createpartcontrol方法中初始化并設(shè)置了一個顯示的字符串。

      護(hù)展擴(kuò)展點(diǎn)

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

      將以下內(nèi)容復(fù)制到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域中定義了插件的名稱、標(biāo)識和版本。 同時在runtime域中定義了插件代碼將打包于helloworld.jar文件中。 在requires域中定義了該插件所要使用的依賴插件,由于我們要使用swt api和工作臺所以列示了org.eclipse.ui。 最后,在extension中說明了要們要擴(kuò)展org.eclipse.ui.views擴(kuò)展點(diǎn)。 首先我們在category中定義了視圖的類別,在工作臺的顯示視圖對話框中,可以使用類別來將相關(guān)的視圖集中在一起。我們定義的類別名為“hello”。 同時也定義了我們的視圖,名為“hello greetings”,這個視圖將會顯示在“顯示視圖”對話框和視圖的標(biāo)題欄中,這里我們還通過class標(biāo)識來說明了實(shí)現(xiàn)這個視圖的最終類。

      通過plugin.xml的定義,eclipse才會真正的找到插件可以做的行為,以及這些行為最終實(shí)現(xiàn)的具體java類。

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

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

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

      運(yùn)行和測試插件

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

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



      到這里,如果你看到了這個圖,哪么恭喜你,你的第一個eclipse插件成功運(yùn)行了?
    posted on 2006-07-20 15:54 The Spark of Thinking 閱讀(530) 評論(0)  編輯  收藏 所屬分類: SWT/JFace
    主站蜘蛛池模板: 亚洲成人在线免费观看| 中文字幕无码一区二区免费| 100部毛片免费全部播放完整| 亚洲啪啪综合AV一区| 成人片黄网站色大片免费观看cn| 亚洲国产成人a精品不卡在线| 亚洲s码欧洲m码吹潮| 四虎影视永久免费观看| 亚洲AV无码一区二区三区网址 | 亚洲国产成人精品久久久国产成人一区二区三区综 | 精品在线免费观看| 亚洲乱亚洲乱妇无码麻豆| 免费看黄的成人APP| 亚洲好看的理论片电影| 免费在线观看视频网站| 亚洲精品美女久久久久久久| 啊v在线免费观看| 国产免费久久精品丫丫| 亚洲AV无码乱码国产麻豆穿越 | 国产人成免费视频网站| 亚洲国产成人精品激情| 四虎影院永久免费观看| 中文在线观看永久免费| 久久久婷婷五月亚洲97号色| 男男AV纯肉无码免费播放无码| 亚洲国产精品自在自线观看| 亚洲欧洲日本在线| 日本xxxx色视频在线观看免费| 亚洲一区精品视频在线| 国产三级电影免费观看| 全黄大全大色全免费大片| 亚洲欧洲日产国码二区首页| 日韩免费观看视频| 日韩免费高清播放器| 亚洲乱码中文字幕小综合| 亚洲AV蜜桃永久无码精品| 精品一区二区三区免费毛片爱| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲黄黄黄网站在线观看| 97在线视频免费公开观看| 免费观看亚洲人成网站|