色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Eclipse插件開(kāi)發(fā)之新手入門(mén)

現(xiàn)在在InterNET上已經(jīng)可以見(jiàn)到不少的Eclipse插件開(kāi)發(fā)的入門(mén)文章,這里我寫(xiě)本文的目的主要是將我自己的體會(huì)和最開(kāi)始的學(xué)習(xí)告訴給大家。 同時(shí)也希望本文能使用最為簡(jiǎn)單的方法來(lái)讓大家了解開(kāi)發(fā)Eclipse插件的基礎(chǔ)。需要注意的是,要學(xué)習(xí)Eclipse的插件開(kāi)發(fā),你需要:

  會(huì)使用Eclipse來(lái)開(kāi)發(fā)Java應(yīng)用程序

  了解插件這個(gè)詞的概念

  了解一些XML的知識(shí) 本文是一個(gè)入門(mén)的文章,只是向大家說(shuō)明開(kāi)發(fā)一個(gè)插件的簡(jiǎn)單步驟,同時(shí)了解在開(kāi)發(fā)插件時(shí)涉及到的技術(shù)面會(huì)有哪些。

  Eclipse SDK概述

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




  運(yùn)行時(shí)核心(Eclipse Platform) - SDK必須一個(gè)Eclipse Platform,它自身不具有任何對(duì)最終用戶(hù)有意義的功能, 它是一個(gè)加載所有插件的基礎(chǔ)平臺(tái)。也就是Eclipse的運(yùn)行時(shí)最小集合了。

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

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

  我們將來(lái)要開(kāi)發(fā)的插件都是由平臺(tái)來(lái)加載和運(yùn)行,而PDE則是開(kāi)發(fā)插件的開(kāi)發(fā)環(huán)境,JDT則是開(kāi)發(fā)插件時(shí)的Java代碼的開(kāi)發(fā)環(huán)境。

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

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

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

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

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

  在Eclipse需要?jiǎng)?chuàng)建一個(gè)空的插件項(xiàng)目,為了讓我們更好的理解插件中各個(gè)文件的來(lái)源,我們從一個(gè)空白的插件項(xiàng)目開(kāi)始:

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

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

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

  4) 當(dāng)詢(xún)問(wèn)您是否想切換到“插件開(kāi)發(fā)”透視圖時(shí),回答是。

  5) 選擇com.huangdong.examples.helloWorld項(xiàng)目并打開(kāi)屬性對(duì)話框。

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

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

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

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

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

  2) 在此包中創(chuàng)建稱(chēng)為HelloWorldView的新類(lèi)其超類(lèi)為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)樵擃?lèi)定義了一個(gè)變量lable,在createPartControl方法中初始化并設(shè)置了一個(gè)顯示的字符串。

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

  讓Eclipse添加這個(gè)視圖,需要擴(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域中定義了插件的名稱(chēng)、標(biāo)識(shí)和版本。 同時(shí)在runtime域中定義了插件代碼將打包于helloworld.jar文件中。 在requires域中定義了該插件所要使用的依賴(lài)插件,由于我們要使用SWT API和工作臺(tái)所以列示了org.eclipse.ui。 最后,在extension中說(shuō)明了要們要擴(kuò)展org.eclipse.ui.views擴(kuò)展點(diǎn)。 首先我們?cè)赾ategory中定義了視圖的類(lèi)別,在工作臺(tái)的顯示視圖對(duì)話框中,可以使用類(lèi)別來(lái)將相關(guān)的視圖集中在一起。我們定義的類(lèi)別名為“Hello”。 同時(shí)也定義了我們的視圖,名為“Hello Greetings”,這個(gè)視圖將會(huì)顯示在“顯示視圖”對(duì)話框和視圖的標(biāo)題欄中,這里我們還通過(guò)class標(biāo)識(shí)來(lái)說(shuō)明了實(shí)現(xiàn)這個(gè)視圖的最終類(lèi)。

  通過(guò)plugin.xml的定義,Eclipse才會(huì)真正的找到插件可以做的行為,以及這些行為最終實(shí)現(xiàn)的具體Java類(lèi)。

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

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

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

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

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

  啟動(dòng)后在菜單中選擇窗口>顯示視圖>其它,在顯示視圖對(duì)話框中會(huì)有一個(gè)分類(lèi)為Hello,點(diǎn)開(kāi)Hello分類(lèi)會(huì)看到Hello Greetings,選擇后點(diǎn)確定按鈕。在最下面的視圖中可以見(jiàn)到以下界面:



  到這里,如果你看到了這個(gè)圖,哪么恭喜你,你的第一個(gè)Eclipse插件成功運(yùn)行了。

jsp技術(shù)Eclipse插件開(kāi)發(fā)之新手入門(mén),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 林口县| 三台县| 佛坪县| 泗洪县| 邯郸县| 白城市| 当涂县| 宁明县| 车险| 呼伦贝尔市| 亚东县| 迁西县| 思南县| 商南县| 新晃| 九龙坡区| 平南县| 通化县| 水城县| 恩平市| 霍城县| 华容县| 桃园县| 泰兴市| 宜兰市| 阿合奇县| 松原市| 馆陶县| 潞城市| 东方市| 巴青县| 尼木县| 石渠县| 仪陇县| 宁化县| 永定县| 宿松县| 盐边县| 车致| 阳新县| 务川|