Eclipse插件開發(fā)之新手基礎(chǔ)
發(fā)表時間:2024-05-30 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]現(xiàn)在在Internet上已經(jīng)可以見到不少的Eclipse插件開發(fā)的入門文章,這里我寫本文的目的主要是將我自己的體會和最開始的學習告訴給大家。 同時也希望本文能使用最為簡單的方法來讓大家了解開發(fā)Eclipse插件的基礎(chǔ)。需要注意的是,要學習Eclipse的插件開發(fā),你需要: 會使用Eclipse...
現(xiàn)在在Internet上已經(jīng)可以見到不少的Eclipse插件開發(fā)的入門文章,這里我寫本文的目的主要是將我自己的體會和最開始的學習告訴給大家。 同時也希望本文能使用最為簡單的方法來讓大家了解開發(fā)Eclipse插件的基礎(chǔ)。需要注意的是,要學習Eclipse的插件開發(fā),你需要:
會使用Eclipse來開發(fā)Java應用程序
了解插件這個詞的概念
了解一些XML的知識 本文是一個入門的文章,只是向大家說明開發(fā)一個插件的簡單步驟,同時了解在開發(fā)插件時涉及到的技術(shù)面會有哪些。
Eclipse SDK概述 我們通常使用的Eclipse也就是我們這里所說的Eclipse SDK,這個SDK中包括了很多的內(nèi)容,如下圖所示:
運行時核心(Eclipse Platform) - SDK必須一個Eclipse Platform,它自身不具有任何對最終用戶有意義的功能, 它是一個加載所有插件的基礎(chǔ)平臺。也就是Eclipse的運行時最小集合了。
Java 開發(fā)工具(JDT) - 我們所有的有關(guān)Java的開發(fā)部分都是由這個插件來完成了,它形成了對于Java最為基礎(chǔ)的編輯、 編譯、運行、調(diào)試、發(fā)布的環(huán)境。
插件開發(fā)者環(huán)境(PDE) - 開發(fā)插件的插件,我們?nèi)绻_發(fā)插件哪么我們就會發(fā)現(xiàn)所有的工作環(huán)境都是由它來提供的。 它提供了用來自動創(chuàng)建、處理、調(diào)試和部署插件的工具。
我們將來要開發(fā)的插件都是由平臺來加載和運行,而PDE則是開發(fā)插件的開發(fā)環(huán)境,JDT則是開發(fā)插件時的Java代碼的開發(fā)環(huán)境。
創(chuàng)建插件項目 設(shè)置引用項目
開發(fā)插件時需要大量的外部庫,這些外部庫主要是現(xiàn)有的Eclipse中各個插件所提供的庫。 為了開發(fā)方便,我們先將這些外部庫由一個項目統(tǒng)一引用。
從資源透視圖中,使用文件>導入...>外部插件和段。
在下一步中選擇抽取源歸檔并在項目中創(chuàng)建源文件夾。
到顯示稱為選擇的屏幕,選擇 org.eclipse.ui,然后單擊完成按鈕。
創(chuàng)建項目
在Eclipse需要創(chuàng)建一個空的插件項目,為了讓我們更好的理解插件中各個文件的來源,我們從一個空白的插件項目開始:
1) 打開新建項目...向?qū)Вㄎ募拘陆ǎ卷椖?..)并從插件開發(fā)類別中選擇插件項目。
2) 將com.huangdong.examples.helloworld用作項目的名稱。缺省情況下,向?qū)н會將com.huangdong.examples.helloworld設(shè)置為標識。
3) 最終,確保在插件代碼生成器頁面上選擇了創(chuàng)建空白插件項目。
4) 當詢問您是否想切換到“插件開發(fā)”透視圖時,回答是。
5) 選擇com.huangdong.examples.helloWorld項目并打開屬性對話框。
6) 在Java構(gòu)建路徑屬性中,選擇項目選項卡,并選擇項目org.eclipse.ui。這些包含了項目需要的導入類。
7) 重建項目。
創(chuàng)建一個插件內(nèi)容
創(chuàng)建一個新的小視圖
下面我們?yōu)樵擁椖考尤胍粋很簡單的視圖:
1) 在項目的src目錄下創(chuàng)建包com.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è)置了一個顯示的字符串。
護展擴展點 讓Eclipse添加這個視圖,需要擴展org.eclipse.ui.views擴展點。所有的這些需要在plugin.xml中進行描述。該清單文件描述插件,包括插件的代碼所在的位置以及正在添加的擴展。
將以下內(nèi)容復制到plugin.xml中:
。?xml version="1.0" encoding="UTF-8"?>
。紁lugin id="com.huangdong.examples.helloworld"
name="com.huangdong.examples.helloworld"
version="1.0.0"
provider-name="HuangDong">
。紃untime>
。糽ibrary name="helloworld.jar"/>
。/runtime>
。紃equires>
。糹mport plugin="org.eclipse.ui"/>
</requires>
。糴xtension point="org.eclipse.ui.views">
。糲ategory
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中定義了視圖的類別,在工作臺的顯示視圖對話框中,可以使用類別來將相關(guān)的視圖集中在一起。我們定義的類別名為“Hello”。 同時也定義了我們的視圖,名為“Hello Greetings”,這個視圖將會顯示在“顯示視圖”對話框和視圖的標題欄中,這里我們還通過class標識來說明了實現(xiàn)這個視圖的最終類。
通過plugin.xml的定義,Eclipse才會真正的找到插件可以做的行為,以及這些行為最終實現(xiàn)的具體Java類。
在插件清單文件中使用了許多標識。 個別擴展點通常會定義需要標識的配置參數(shù)(例如,以上用于視圖擴展點的類別標識)。 我們還要定義插件標識。通常,應該對所有標識都使用 Java 包名前綴,以便確保所有已安裝的插件都是唯一的。
在前綴后面使用的特定名稱完全由您自己決定。 然而,如果插件標識前綴剛好與其中一個包的名稱相同,則應該避免在該包中使用類名。 否則,將很難分辨您正在查看標識名還是類名。
還應該避免對不同的擴展配置參數(shù)使用相同的標識。 在上述清單中,已經(jīng)使用了公共標識前綴(com.huangdong.examples.helloworld),但是,我們的所有標識都是唯一的。 此命名方法可以幫助我們閱讀文件并了解哪些標識是相關(guān)的。
運行和測試插件 運行插件是一件很簡單的事,這些在PDE中給我們提供了很好的支持。 只需要在菜單中選擇運行>運行為>運行時工作臺,在運行時會彈出一個重復插件的提示框,可以按確定跳過,不必在意。 這樣會啟動一個已經(jīng)安裝好插件的Eclipse。
啟動后在菜單中選擇窗口>顯示視圖>其它,在顯示視圖對話框中會有一個分類為Hello,點開Hello分類會看到Hello Greetings,選擇后點確定按鈕。在最下面的視圖中可以見到以下界面:
到這里,如果你看到了這個圖,哪么恭喜你,你的第一個Eclipse插件成功運行了。
<>