*******************************************************
作者:陳剛,普通程序員,曾有幸以Eclipse插件方式開發(fā)過一個中型軟件。現(xiàn)將所學
付諸于紙,暫取書名<Eclipse插件開發(fā)指南>,將于2005年初由清華大學出版社出版。
blog:http://www.cnblogs.com/glchengang/
*******************************************************
5.3 常用插件擴展點實戰(zhàn)(plugin.xml)
在上一節(jié)(5.2.2節(jié))已經對原有的plugin.xml做了很詳盡的介紹,plugin.xml是插件和Eclipse的接口,Eclipse就象一所大宅子,它的外墻(plugin.xml)有很多的門(擴展點),我們要熟練進出這座大宅子,先得搞清楚它有哪些門,當然我們只需要熟悉一些主要的門就足夠應付90%的需求了。
本節(jié)將以開發(fā)需求為導向來介紹這些擴展點,并且本節(jié)所有實例都在5.2.2節(jié)所建立的myplugin2項目的基礎上來進行講解演示。
5.3.1 加入透視圖(perspectives)
往開發(fā)一個插件,最常用的方式就是新增一個屬于本插件專有的透視圖,然后在此透視圖基礎上來展開軟件開發(fā),本書即采用這種方式。
1、準備工作
我們先將以前用到的那些圖標的icons目錄復制一份到myplugin2項目中,復制后的路徑如圖5.9所示:

圖5.9 圖標的路徑
2、修改plugin.xml文件,設置透視圖的擴展點
打開plugin.xml文件的編輯框,將如下代碼塊插入到最后一行的</plugin>之前:
<extension
point="org.eclipse.ui.perspectives">
<perspective
name="myplugin透視圖"
icon="icons/selectall.gif"
class="book.chapter_5.SamplePerspective"
id="book.chapter_5.SamplePerspective">
</perspective>
</extension>
說明:
l org.eclipse.ui.perspectives是透視圖的擴展點
l name - 透視圖的名稱
l icon - 透視圖的圖標
l class - 透視圖所對應的類(我們還沒編寫,下一步將完成此類)
l id - 透視圖標識,建議設置成和class一樣的名稱,省得以后擴展點設置得太多,搞得人糊涂。
3、建立透視圖類
在上一步的plugin.xml中提前設置了透視圖對應的類book.chapter_5.SamplePerspective,這一步我們就來在包book.chapter_5中創(chuàng)建此類。透視圖的類必須實現(xiàn)IPerspectiveFactory接口,此接口只有一個方法createInitialLayout,我們讓它先空實現(xiàn)好了。SamplePerspective代碼如下:
//--------文件名:SamplePerspective.java--------------------
public class SamplePerspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {}
}
4、運行插件
按以前所說的方法運行插件后,在新開的Eclipse環(huán)境中選擇主菜單“窗口→打開透視圖→其它”。在彈出如圖5.10的透視圖選擇窗口中,我們可以看到一個名為“myplugin透視圖”的項。

圖5.10 選擇透視圖
選擇并打開“myplugin透視圖”項后,顯示如圖5.11的Eclipse界面。我們發(fā)現(xiàn)該透視圖光禿禿的什么也沒有。沒關系,我們下一小節(jié)就會往這個透視圖加入兩個視圖。

圖5.10 myplugin透視圖的效果圖
5、總結
由本小節(jié)可以看到在Eclipse創(chuàng)建一個界面(菜單、按鈕、透視圖)是多么的簡單,我們都不用編寫實際界面的創(chuàng)建代碼,只要設置一些擴展點就行了。