2.1 版的新功能

底下是自從 2.0 版後,對 2.1 版 Eclipse 的 Java 開發工具所做的一些更有趣或重要的變更:

Java 編輯器

Java 除錯器

重構

一般

JUnit 整合

Java 編輯器

更可以自訂「Java 編輯器」

Java > 編輯器喜好設定頁面提供更多的配置選項:

  • 您可以透過滑鼠橫越標籤來配置 Java 編輯器中滑鼠橫越時的說明
  • 您可以使用鍵入標籤,來控制自動關閉圓括弧、方括弧、 字串和註解、字串的智慧型折行,以及其他有用的 Java 特有編輯器行為
  • 您可以使用附註標籤,來自訂錯誤、警告、作業等的視覺化外觀
重複複製滑鼠橫越

您可以按下 F2 在可捲動和可調整大小的視窗中開啟滑鼠橫越。 您可以從這個視窗選取和複製內容。

可調整大小的滑鼠橫越時的說明視窗

顯著的狀態指示

現在,「預設文字」編輯器和 Java 編輯器兩者都會在右上角顯示顯著的標示元, 以指出檔案含有錯誤或警告。

在右上角具有錯誤指示標示元的編輯器

在檔案中尋找

「搜尋」功能表群組含有新的指令(檔案中的出現處), 可搜尋元素宣告所在的編譯單元或類別檔內類型、欄位、方法和區域變數的所有出現處。 與其他搜尋指令一致,會產生標示元並以附註方式呈現在編輯器中。 「搜尋結果」檢視畫面中的項目具有不同圖示來代表讀取權和寫入權。 在這個範例中,您將在 "TestCase.java" 中看到 "fName" 的搜尋結果。

顯示檔案中欄位出現處的「編輯器」和「搜尋」檢視畫面

更多快速修正

現在有其他 Java 問題的「快速修正」。按一下 Java 編輯器左邊距的燈泡, 按下 Ctrl+1 或從功能表選取編輯 > 快速修正,以:

  • 建立遺漏的建構子
  • 移除未用的 private 方法、欄位或類型
  • 修正模糊不清的匯入項目(也建議「組織匯入項目」)
  • 在外部類型中建立方法(對於匿名類別中的方法)
  • 新增未實作方法的 Stub
  • 新增 catch 子句或擲出宣告以處理未捕捉的異常狀況
  • 移除 catch 子句以處理不再擲出的異常狀況
  • 新增未實作的 abstract 方法

其他由編譯器偵測到且可以使用「快速修正」來修正的問題如下:

  • 在 Static 環境定義中使用的實例欄位
  • 透過非 Static 方式存取的 static 方法或欄位
  • 非 abstract 類型中的 abstract 方法宣告
  • 看不到的方法、欄位、類型或匯入項目
  • 未外部化字串

「快速修正」視窗

快速輔助

現在,即使沒有錯誤,也可以使用「快速修正」動作。 將脫字符號 (^) 置於識別碼,然後按下 Ctrl+1(編輯 > 快速修正)以呼叫「快速輔助」。

  • 已鏈結的重新命名可在所有識別碼中使用。

    已鏈結的重新命名「快速輔助」

    已鏈結的重新命名會啟動已鏈結的模式編輯(如同在範本一般),在這裡變更識別碼將變更原始檔內該名稱的所有出現處。

  • 您可以將 catch 子句換成 throws 子句(可用在 catch 子句)。
  • 您可以指派表示式陳述式給新的區域變數或欄位(可用在所有表示式陳述式)。 舉例來說, vector.iterator(); 將轉換為
    Iterator iterator= vector.iterator();
    變數名稱建議是由「快速輔助」提供的。
  • 您可以移除 if/while/for/do 陳述式或區塊,而且內容的內縮將自動更正。
  • 您可以用範本包覆多行選項。
程式碼輔助的改進
  • Java 編譯器已依據在環境定義中預期的類型,改進了相關提議的分級。 舉例來說,對於 StringBuffer sb= new [code assist]StringBuffer 現在將是第一個出現在清單上。
  • 現在,Java 編輯器中的程式碼輔助提供依據關鍵字完成。
已改進的 Java 概要檢視畫面

您可以調整 Java 概要,以僅顯示編譯單元 main 類型的成員, 方法為在「概要」檢視畫面工具列中按下 「進入最上層類型」圖示 按鈕(進入最上層類型)。

「Java 概要」檢視畫面工具列

超鏈結的 Java 程式碼

當滑鼠橫越 Java 程式碼時,按下 Ctrl 鍵並移動滑鼠將把類別、 方法和欄位識別碼轉換成對應宣告的可按一下鏈結。 您可以透過 Java > 編輯器 > 導覽標籤來配置這個選項。

Java 程式碼中的超鏈結

捲動至下一個成員 在 Java 編輯器中,使用 Ctrl + Shift + 下移鍵(導覽 > 移至 > 下一個成員)和 Ctrl + Shift + 上移鍵(導覽 > 移至 > 前一個成員),可迅速地在成員方法、 欄位、起始設定程式與類型之間進行導覽。
快速地偵測到更多的錯誤

Java 編輯器現在為更多的錯誤類型加上註解, 包括未捕捉的異常狀況和未用的變數,這需要詳細的流程分析。

顯示在鍵入時偵測到之錯誤的編輯器

原位概要

在 Java 編輯器按下 Ctrl+F3(導覽 > 開啟結構),以在現行游標位置蹦現元素的原位概要。 或按下 Ctrl+O(編輯 > 開啟結構),以蹦現現行原始檔的原位概要。

原位概要

編輯器總覽中的滑鼠橫越資訊

Java 編輯器總覽尺規(位在頁框右側)現在顯示發生問題附註的滑鼠橫越資訊。

總覽尺規滑鼠橫越

類別檔編輯器

類別檔編輯器在功能上已趕上編譯單元編輯器。 現在,它支援游標行強調顯示、行號、附註強調顯示、 總覽尺規、列印邊距、語意選項展開,以及在類別檔成員之間的鍵盤導覽。

Java 除錯器

執行緒和監視器檢視畫面

除錯器的新執行緒和監視器檢視畫面顯示哪些執行緒正保有鎖定, 以及哪些正等待取得鎖定。

顯示死鎖循環的監視器檢視畫面

 

實例岔斷點和監視點 現在,您可以設定特殊物件實例特有的岔斷點和監視點。 在「變數」檢視畫面中,從變數快速功能表選取實例岔斷點...

實例過濾對話框

改進的條件式岔斷點 傳統的條件式岔斷點是由評估成 "true" 的 Boolean 表示式所觸發。 現在,您可以宣告每當表示式值變更就會觸發的條件式岔斷點。 此外,在條件表示式中鍵入時,就可立即使用程式碼輔助。

岔斷點內容對話框

進入選擇項進行副程序除錯

Java 除錯器現在可讓您進入一系列鏈結的或巢狀的方法呼叫內的單一方法, 進行副程序除錯。僅強調顯示要進入以進行副程序除錯的方法, 然後從 Java 編輯器快速功能表選取進入選擇項進行副程序除錯

進入選擇項進行副程序除錯

監視項目 您可以在 Java 編輯器中選取一個表示式, 然後使用監視動作(可在快速功能表以及在執行功能表中取得), 來建立監視項目。此外,您也可以選取變數並使用監視動作,來建立監視項目。
逐行過濾器 逐行過濾器更方便使用,因為以過濾條件逐行除錯動作已新增至除錯工具列和功能表。 此外,這些動作也已新增至除錯快速功能表中, 以簡化為與所選堆疊框相關聯的類型或套件建立逐行過濾器。
「變數」檢視畫面中的自動換行 除錯器的變數表示式檢視畫面的詳細資料區域現在支援自動換行, 可從檢視下拉功能表取得它。

「變數」檢視畫面下拉功能表中的自動換行動作

堆疊追蹤超鏈結

現在,主控台中會出現含超鏈結的 Java 堆疊追蹤。當您將滑鼠放在堆疊追蹤中的某一行上時, 游標就會變成手狀,而且堆疊追蹤之下會有一條底線出現。按下滑鼠按鈕將開啟相關聯的 Java 原始檔, 並且會將游標定位在對應行中。

在「主控台」檢視畫面中具有超鏈結的堆疊追蹤

主控台緩衝區大小 「主控台」檢視畫面僅保留輸出的最近 N 個字元(預設值是 80K)。您可以透過除錯 > 主控台喜好設定頁面來配置主控台緩衝區大小。
過濾常數和 Static

這兩個新的動作可在「變數」檢視畫面的下拉功能表中取得 - 顯示常數顯示 Static 變數。 這些動作會切換 static final 和 static 變數的可見性。

在「變數」檢視畫面下拉功能表中的變數過濾動作

速度更快的逐行作業

除錯器的執行 > 跳過副程序 (F6) 動作的效能已改進了。 當您按住 F6 鍵或迅速地按一下跳過副程序按鈕時, 您應該可以注意到差異。

指示指標

現在,Java 編輯器在除錯時會在左邊距以箭頭指出目前執行中的行。 若是頂端堆疊框,箭頭是實體,若是非頂端堆疊框,則為中空。

指示指標出現在編輯器尺規

重構

新的重構

有許多新的重構動作可用:

  • 移動實例方法:這個重構作業可讓您將方法移至其參數或欄位之一的宣告類別。 這將建立新的方法,並將舊方法轉換為委派(必要的話, 會傳給它 this 的指標)。
  • 下推成員:這個重構作業可讓您將類別中的一組方法和欄位移至它的子類別。
  • 列入方法:這個重構作業會將特殊 Java 方法的呼叫列入在所選呼叫位置或在呼叫方法所在的任意處。 透過重構 > 列入功能表項目,它有多種形態可用。
  • 列入常數:這個重構作業會將特殊 Java static final 欄位的使用列入在所選參照位置或在參照欄位所在的任意處。 透過重構 > 列入功能表項目,它有多種形態可用。
  • 擷取常數:這個重構作業會從所選表示式建立 static final 欄位並替代欄位參照,以及選擇性地重新寫入其他出現相同表示式的位置。
  • 將區域變數轉換為欄位:這個重構作業可讓您將區域變數轉換為欄位。 如果在建立時已起始設定變數, 則作業會將起始設定移至新欄位的宣告, 或移至類別的建構子。
  • 將匿名類別轉換為巢狀類別:如果您程式碼中的匿名內部類別太大, 這個重構作業將協助您將它轉換為成員類別。
  • 將成員類型轉換為最上層類型:這個重構作業會為所選成員類型建立新的 Java 編譯單元, 同時依需要更新所有參照。對於非 static 成員類型,將新增一個欄位, 以容許存取先前含括的實例。
  • 擷取介面:這個重構作業會以一組方法建立新的介面, 並使所選類別實作介面,同時選擇性將類別參照變更為新介面(每當可能的話)。
  • 適當時使用超類型:這個重構作業會在識別所有可能發生這個取代的位置後, 將出現的類型換成其超類型之一。
改進的重構

有數個重構動作已改進了:

  • 變更方法簽章:這個重構作業取代了「修改參數」重構作業。 它可讓您變更方法的可見性和傳回類型,以及新增、移除、重新命名和重新排序方法參數。
  • 上推成員:這個重構作業已在數個方面做了改進
    • 您可以在階層中將成員上推一層以上
    • 不需上推它們,您可以在所選超類型中,將方法宣告為 abstract
    • 您可以計算需要一起上推以便滿足可見性限制的最小一組成員
  • 擷取方法:您可以重新排序和重新命名所擷取方法的參數。
  • 重新命名和和移動重構作業:現在,當重新命名 Java 類型或套件時 (或將類型移至不同套件時),也可以在非 Java 檔中更新元素的完整名稱。

新的小型重構 UI

現在,啟動任何 Java 重構作業將顯示一個小型啟動對話框, 來收集執行重構所需的資訊。按一下確定以直接執行重構, 或按一下預覽以在判定是否要繼續執行之前,查看它的效果。

新的小型重構對話框

一般

更有彈性的 Java 原始檔和輸出路徑

Java 建置路徑設定提供了改進的彈性:
  • 排除過濾器可讓您在原始檔資料夾內排除某些原始檔進行編譯。
  • 原始檔資料夾現在可以是巢狀 - 對上層資料夾使用排除過濾器, 以排除要新增至建置路徑的子資料夾。
  • 所產生的類別檔的位置可以個別地針對每一個原始檔資料夾設定。
  • 您也可以使用鏈結的資料夾作為原始檔資料夾、類別資料夾或輸出資料夾。

「Java 建置路徑」內容頁面

專案特有的 Java 編譯器設定 除了全工作區的 Java 編譯器喜好設定設定(Java > 編譯器)之外,現在您還可以透過每一個 Java 專案上的新 Java 編譯器內容頁面, 來針對特定 Java 專案配置設定。

更多 Java 編譯器選項

  • 彼此相依的 Java 專案通常可以順利地以單一建置動作完成編譯。 為了能夠容許循環,您將需要在 Java > 編譯器喜好設定頁面, 將與循環相依項相關的嚴重性降低。
  • 現在,Java 編譯器會警告未用的 private 方法、 欄位或類型宣告。這個選項可協助您尋找停擺的程式碼和某些細微的錯誤。
  • 現在,當您似乎以它自己的值指派一個變數時, Java 編譯器會給與您一個警告。這將協助您在 setter 方法和建構子宣告中捕捉細微錯誤, 因為在這裡參數名稱近於欄位名稱。您可以透過 Java > 編譯器 > 樣式喜好設定頁面來配置這個選項。範例如下:
沒有效果的指派

改進的變數字首和字尾配置

除了配置欄位的字首或字尾之外, 現在您還可以指定 Static 欄位、參數和區域變數的字首或字尾。 每當變數名稱需要計算時, Java > 程式碼產生喜好設定頁面上的這些設定就會用在程式碼輔助、 快速修正,以及重構作業。

命名慣例喜好設定頁面

可自訂的程式碼產生

Java > 程式碼產生喜好設定頁面可讓您以類似於一般範本所用的方式自訂程式碼產生和註解。 每當產生程式碼時,就會使用這些程式碼範本。 (這些註解會取代針對程式碼產生而使用的現有 'filecomment' 和 'typecomment' 範本)。

「程式碼產生」喜好設定頁面中的「程式碼和註解」標籤

可配置作業標示

Java > 作業標示喜好設定頁面是用來配置在 Java 註解中出現的作業標示全工作區呈現方式。您也可以透過每一個 Java 專案上的 Java 作業標示內容頁面,來對每一個專案配置這些標示。

「作業標示」喜好設定頁面

在編輯器中,您將看到:

具有 TODO 作業的編輯器

排序成員

現在有一個排序成員動作位在 Java 編譯單元和最上層類型的快速功能表上, 用來根據 Java > 外觀 > 成員排序喜好設定頁面中定義的種類次序, 來重新排列編譯單元的成員。

「成員排序」喜好設定頁面

「新增委派方法」對話框

現在您可以輕易地產生委派方法(這些方法會委派給由實例變數提供的方法), 方法為使用原始檔 > 產生委派方法動作。這個動作可在所有具有欄位的類型上取得。

「新增委派方法」對話框

「套件瀏覽器」的改進

非 Java 專案現在呈現在「套件瀏覽器」檢視畫面中。 提供有一個過濾器,來過濾出非 Java 專案,而且開啟/關閉交談作業現在與資源「導覽器」檢視畫面一致。

「套件瀏覽器」中的非 Java 專案

程式庫(如 JRE 系統程式庫)現在以具有一個或多個 JAR 作為子項的單一節點呈現。

階層式對平面式套件佈置

「Java 套件」檢視畫面(和「套件瀏覽器」檢視畫面)上有一個選項,可讓您變更套件的顯示方式。階層式會以樹狀結構顯示套件, 在套件之下有子套件;平面式會以標準排列來顯示它們, 讓這個平面式清單中的所有套件和子套件像同屬一樣。 底下是階層式佈置的範例:

「套件瀏覽器」中的階層式佈置

邏輯套件

「Java 套件」檢視畫面 (「Java 瀏覽」視景)會在專案內跨原始檔資料夾聯合同名的套件。 這會顯示邏輯套件的檢視畫面。

「Java 套件」檢視畫面中的邏輯套件

類型階層檢視畫面支援按定義類型進行分組

類型階層方法檢視畫面可讓您依照其定義的類型, 排序所選類型的方法。 舉例來說,對於 AbstractList,您可以看到它含有已在 ObjectCollectionList 中定義的方法:

在類型階層中按定義類型來排序成員

「套件瀏覽器」和「專案」檢視畫面有更多的過濾器

「套件瀏覽器」和「專案」檢視畫面有更多的過濾器:

「套件瀏覽器」過濾器

多方法還原

現在,您可以利用一個作業,從本端歷程還原多個 Java 元素, 方法為從快速功能表選取從本端歷程還原。在對話框的左窗格, 請勾選要還原的元素,然後對於每一個勾選的元素, 從右邊選取一個歷程項目。

多方法還原

JUnit 整合

執行所有單元測試

現在,JUnit 測試執行器提供你一個簡單的方法, 在指定的 Java 專案、原始檔資料夾或套件中執行所有的測試。

JUnit 啟動配置

尋找單元測試 新的 JUnit 動作導覽 > 移至 > 參照測試會尋找並導覽至參照特殊類型或方法的測試。

執行模式:JUnit 測試

在檢視畫面中選取 JUnit 測試方法, 然後選取執行 > 執行模式 > JUnit 測試。 這會建立一個啟動配置來執行所選測試。

Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.