時間:2005-07-27
作者:Seth Roby
本文關鍵字:Open Source
每個IDE都允許您管理檔案和構建項目。Eclipse不僅僅局限於此,因為它可以在比大多數IDE所擁有的典型檔案中心視圖更密切的層次上處理您所編寫的代碼。作為開發人員,您可以只編寫少量代碼,而讓Eclipse來完成尋找、改變、切換、移動、等待這些繁雜的工作,從而獲得好處。
有了Eclipse這個工具,您就可以把精力集中在手邊真正的任務上:編寫能完成預定功能的代碼。
從UI開始
首先請注意,本文所涉及的是新的Eclipse3,它在某些方面與較早的2.1版,以及WSAD和RAD不同。 Eclipse看上去與其他大多數的IDE很類似,因為基本的使用者介面(UI)已被各地的開發人員所熟悉——除了那些仍在使用Emacs或vi的人,但他們還是可以在Eclipse中找到迷人的東西,Eclipse對這兩個鍵綁定都是支援的。 基本的Eclipse使用者介面 1所示。
在螢幕的左邊,可以看到開發資源清單:原始碼、jars,以及組成您的最新開發項目的其他成分。實際上,列表被劃分成您當前正在開發的不同項目,它們可以是相互依賴的也可以是完全獨立的。
Eclipse將項目資料儲存在兩個檔案中,分別是.project檔案和.classpath檔案。.project檔案儲存關於項目中包含哪些檔案、如何使用它們、如何構建項目等方面的資訊,以及更多的詳細資料。任何Java項目中都有.classpath檔案,該檔案告訴Eclipse在構建過程中使用什麼作為CLASSPATH變數。
所有當前的項目都存在於當前的Workspace中。Eclipse中的Workspace是一個包含了許多檔案的目錄,可能還包含了項目所需的資源。Eclipse從一個預設Workspace開始;不過,您可以很方便地將它設定為開啟多個Workspace。要開啟一個不同的Workspace,只需要在啟動可執行檔時使用-data標誌即可,例如:eclipse.exe -data E:/shared/workspaces/artemis
中間部分是一個原始碼查看器,它可以顯示當前開啟的檔案的原始碼。注意,它是多重標籤的(tabbed),所以您可以一次開啟多個檔案。右邊是當前開啟檔案的概要。Eclipse列出了類、方法和檔案的其他部分。雙擊一個條目會跳轉到相應的位置。最後,在底部,是另一個多重標籤的地區,用於傳輸關於Eclipse所做的、所發現的或者具有問題的事情的資訊。注意所有這些下面的標籤都是視圖,您可以任意拖動,還可以將它們堆疊起來組成堆棧。資訊視圖是獨立的,如果您希望同時看到它們而且您的螢幕足夠大,您可以將它們鋪開。
視圖被分組為透視圖,透視圖通常是面向環境的。這裡有一個用於處理Java項目的Java透視圖,一個用於追蹤運行時問題的Debug透視圖,一個用於管理CVS串連的CVS透視圖,等等。實際上,透視圖和視圖的數目是可擴充的,Eclipse的幾乎每個部分都是可擴充的。IDE為增加和擴充現有功能提供了多種方法,這些功能為Eclipse社團的許多人所利用。
Eclipse的所有資源和項目都具有屬性。在左邊列表中的任意一項上右擊,再選擇“Properties”,就可以看到更詳細的資訊。對於檔案,您可以看到檔案自身的一些基本資料,比如修改日期、位置和許可權。對於項目,有更多進階選項,允許您設定Eclipse構建項目的方式。
如果單擊“Java Build Path”,您將會看到四個控制構建行為的標籤,第一個是“Source”,它允許您設定Eclipse將在哪裡尋找源檔案,還可指定哪些源檔案是要用的哪些是可以忽略的。下一個標籤是“Projects”,它允許您設定當前項目所依賴的項目,這樣,您可以在一個項目中設定一些庫或公用代碼,並從其他項目簡單地包含該項目。
下一個標籤是“Libraries”,它允許您將JAR檔案、庫和類檔案夾添加到類路徑中。最後,您可以指定該項目將匯出哪些資源,這樣,該項目的屬性就可以應用於匯入該項目的其他項目。
Eclipse是在中間大型源視圖中進行構建的,所有的編輯也是在那裡進行的。但是有一些事情要注意,Eclipse提供的不僅僅是簡單的文本視圖。首先,文本的左邊有一個小槽,Eclipse用它來隱藏傳遞有用資訊的表徵圖。一個紅色的“X”會顯示在Eclipse不能編譯的行的旁邊,Eclipse認為可能存在錯誤的代碼旁會有黃色的“warning”標誌,如未使用的匯入語句(見圖1)。
其次,存在問題的代碼被加上了適當顏色的底線。同樣,紅色底線代表編譯錯誤,黃色代表警告。最後,捲軸的右邊有另一個小槽。顏色在這裡又一次被用來傳達資訊:紅色塊標識有錯誤的代碼地區,黃色塊標識警告代碼地區。單擊色塊會將游標直接移至問題代碼。將滑鼠移至上方在這三個帶顏色的條目(表徵圖、底線或塊——圖1中顯示了這三者)上,可以開啟相關問題的描述。右擊會出現操作功能表。
動態構建
使用Eclipse進行Java開發,您首先注意到的就是它的編譯是多麼智能。進入Preferences(WindowMenu > Preferences)並啟用動態構建(Workbench > Build Automatically)。現在,每當您儲存檔案時,Eclipse將會自動編譯該檔案以及依賴於該檔案的檔案。因此,當您想運行您的應用程式時,它基本上已經儲存好並且是最新版本。當您處理大型代碼基時,這可以節約不少時間。如果您不得不使用其他IDE,那麼您首先失去的就是該特性的簡單性。
當您使用Eclipse時,您將會一次又一次地感受到這樣一個底層原理:IDE瞭解代碼。Eclipse不僅僅是一個能在以檔案為中心的基礎上處理代碼和其他事情的編譯器,它還能夠查看原始碼並聰明地加以處理。它的智能編譯能力通過它能夠明白表達在匯入語句中的依賴性而得到了證明。
智能搜尋
Eclipse具有非常智能的搜尋特性(Search Menu > Search),允許您搜尋檔案中、整個項目中或一個檔案組中出現的任何字串。這個特性很好,但是還在變得更好。Java搜尋(Search Menu > Java)允許您將搜尋限定為只尋找類、方法、類型或其他Java瞭解的類別。Eclipse可以找到以“set”開頭的所有方法實現,您可以輕易地找到您所有的寫存取方法。更好的是,您可以在任意方法調用上控制項單擊(control-click)從而進入它的實現。或控制項單擊一個類名進入它的實現。另外,您可以在方法上右擊找到所有它被使用的地方(References > Project)。Eclipse對代碼的瞭解有助於它導航大型代碼基,而您會從中獲益。
“TODO”任務連結建立
Eclipse還可以提醒您仍需執行的任務。許多開發人員在代碼中添加TODO注釋來提醒他們還有特定的任務要完成,或者特定的情況要處理。Eclipse又一次利用它對Java結構的知識找到任何以TODO開頭的注釋,並將它添加到一個特殊的Tasks視圖(開啟Window Menu > Show View > Other > Basic > Tasks就可看到)。這樣,Eclipse可以提供一個全面的待完成的工作清單。此外,您還可以配置Eclipse去識別您定義的其他標籤。開啟Preferences(Window Menu > Preferences)並瀏覽到“Task Tags”頁面(Java > Task Tags)。您就可以添加新標籤,刪除已有標籤,設定不同標籤的屬性,為代碼指定Eclipse提供的預設值。
代碼編寫
您將會發現Eclipse實際上可以為您編寫代碼。右擊源檔案,在“Source”子功能表下,提供了Eclipse可以修改或擴充代碼的一些方法,這會去做一些枯燥工作,從而把您解脫出來。其中最有用的代碼編寫能力是“Generate Getters and Setters”選項,它將會掃描一個類以尋找域並為這些域產生適當的存取方法
如果您選擇了它,將會彈出一個視窗,讓您指定要為之產生存取方法的域,以及產生什麼存取方法(get,set,或兩者)。您還可以指定產生的方法的許可權(public,private等)。相似地,Eclipse可以基於超類及方法而產生建構函式,以覆蓋或封裝超類方法。
重構
Eclipse最強大的一個特性就是它對重構的健壯支援。選中一個方法並右擊滑鼠,您將會看到“Refactor”子功能表。如果您使用該方法來改變一個方法名,Eclipse將找到該方法的所有調用並將這些調用改變為使用新的方法名。您也可以改變方法簽名,具體方法是通過添加參數,同時令Eclipse改變所有現有調用來添加那個參數,使用的是您指定的值。當然,您也可以刪除您認為不再有用的參數,或重新排列參數使介面更一致。重構也可以工作在類的層次,您可以將內部的類拖至它們自己的檔案中,或將類移至其他的包中。
健壯的撤銷支援
另一個非常好的特性叫做“Local History”,這是一種極簡單的本地CVS存放庫。每儲存一次檔案,Eclipse將會記住這一儲存,並允許您在需要的時候退回到該儲存。在預設狀態下,它會記錄過去7天的儲存(可以在Window Menu > Preferences > Workbench > Local History中修改這個預設設定)。
當您採用新特性,卻破壞了不相干的特性時,撤銷機制可以挽回局面。您可以快速地在兩個版本間做一個異同比較,看看您都做出了哪些改動,並可以將改動退回到前一個版本,甚至昨天的版本。更好的是,您可以只回退特定的方法,而保留其他方法中的修改。
JUnit整合
Eclipse可以很容易與JUnit架構一起使用。如果您有按JUnit標準編寫的類,您可以在左邊的Resources視圖中選擇類並運行測試(Run Menu > Run As > JUnit Test)。Eclipse將會自動找到定義的測試套件並運行其中的所有測試,使用它自己的定製UI來顯示測試的運行及發現的錯誤。常見的JUnit綠色線在測試失敗的情況下會變成紅色,Eclipse將會為您顯示導致出錯的棧追蹤資訊。
讓Eclipse來做吧
您看,Eclipse提供了如此多的特性來自動完成一些枯燥繁重的工作,使開發人員的生活更輕鬆。由於平台的架構,為您提供了很好的機會來找到一個外掛程式協助您完成特定的任務。如果找不到,您可以用Eclipse來編寫它!
原文出處 http://wldj.sys-con.com/read/48887.htm
作者簡介 Seth Roby 在Parasoft公司培訓來自財富500強企業的代表,教他們的自動錯誤預防(Automated Error Prevention)方法。作為一個專家級的服務工程師,他撰寫過有關測試過程、保證代碼品質所必需的基礎設施和許多其他主題的白皮書。他還編寫並講授以Java和JUnit為核心的Unit測試實踐的課程。他同妻子Sonja住在加州的Costa Mesa。