以下是自從 2.1 版後,對 3.0 版 Eclipse 的 Java 開發工具所做的一些更令人感興趣或重要的變更:
在 Java 編輯器中摺疊 | Java 編輯器現在支援摺疊程式碼區域。
在摺疊的 Java 元素上所出現的浮動說明,可讓您一窺隱藏的程式碼:
目前來說,import 陳述式、註解、類型和方法主體都是可以摺疊的。 無論新編輯器是否應該啟用摺疊功能,您都可以在 Java > 編輯器喜好設定頁面的摺疊標籤上配置它。
|
進階強調顯示 | 現在 Java 編輯器可以根據程式碼的語意,來強調顯示程式碼(例如:Static 欄位、區域變數、static 方法呼叫)。
如果您是透過 Java > 編輯器 > 語法喜好設定標籤,來啟用進階的強調顯示功能,
則新的進階強調顯示功能選項會出現在清單中。
另外還有新的選項,供您強調顯示運算子和方括弧, 斜體就是剛剛才獲得支援的樣式。 |
快速類型階層視圖 | 您可以在 Java 編輯器中選取類型、方法或套件參照,然後按 Ctrl+T,看看快速類型階層視圖。
如果是方法,您會看到所有提供這個方法的子類型和 Super 類型。
您可以重複按 CTRL+T,在「標準類型階層」和「Super 類型階層」視圖之間切換。 |
「快速概要」會顯示繼承的成員 | 現在只要重複按 Ctrl+O 鍵組之後,
Java 編輯器中的快速概要(程式碼 > 開啟概要, Ctrl+O)就會顯示繼承的成員。
快速結構也一樣 (Ctrl+F3)。 |
Java 編輯器中的智慧型插入輸入模式 | 現在 Java 編輯器具有智慧型插入模式,
可以透過編輯 > 智慧型插入模式 (Ctrl+Shift+Insert) 進行切換。
編輯器會在智慧型插入模式中,另外提供 Java 特有的功能, 這些功能都可以在 Java > 編輯器 > 輸入喜好設定標籤上配置。 舉個例說,智慧型分號和智慧型左大括弧選項,在插入分號或右大括弧之前,都會先把脫字符號 (^) 移到該行結尾。 |
在貼上時更新匯入項目 | 複製或剪下 Java 程式碼,也會擷取有關複製的程式碼需要哪些匯入宣告的資訊。 現在,必要的匯入項目都會在貼上程式碼時自動加入。 這項特性可以利用 Java > 編輯器 > 輸入 > 在貼上時更新匯入項目喜好設定加以配置。 |
改良的 Java 名稱的游標動作 | 現在 Java 編輯器的 word-at-a-time 動作,也開始顧及 Java ID 的標準 "CamelCase" 表示法。 比方說,如果您在 ID "getFoo" 執行下一個字, 便會在 "get" 和 "Foo" 之間多停留一次。Java 名稱的游標行為,是由 Java > 編輯器 > 導覽喜好設定頁面上的選項所控制。 |
新的程式碼格式製作器 |
Java 程式碼格式製作器具有許多改善的功能: 您可以在 Java > 程式碼樣式 > 程式碼格式製作器喜好設定頁面, 從現有的設定檔選擇、定義您自己的設定檔、以及與其他人共用設定檔。 新的格式製作器很容易配置,它具有 140 個選項, 涵蓋的範圍小從大括弧位置、到換行、大到製作 Javadoc 註解的格式等都有。 |
製作多個檔案的格式 | 格式化指令也可以用於 Java 專案、來源資料夾和套件。 當您呼叫這個指令時,所有內含的程式檔都會根據目前配置的格式製作器設定來製作格式。 |
拼字檢查 | 拼字檢查支援已經加到 Java 編輯器中。
當您在 Java > 編輯器 > 拼字喜好設定頁面上啟用它,並且指定字典之後,拼字錯誤便會顯示在 Java 編輯器上,而對應的快速修正也可以使用。
您也可以讓內容輔助使用該字典。 不過,目前 Eclipse 不含任何字典。 它所需要的格式只是一份以換行字元區隔的單字清單,而快速修正可讓您即時在字典新增字。 您可以建構字典。 |
區塊註解 | 您可以利用程式碼 > 新增區塊註解,把您在 Java 編輯器所選取的文字,很快的變成區塊註解。 相反的,程式碼 > 移除區塊註解指令則會移除含括游標位置的區塊註解。 |
切換註解指令 | Java 編輯器中舊的程式碼 > 註解和程式碼 > 解除註解指令, 已經換成程式碼 > 切換註解 (Ctrl+/) 指令, 這個指令會把目前所選的程式碼行解除註解(如果所有的程式碼行都加註解或以其他方式加了註解)。 (您可以透過工作台 > 按鍵喜好設定頁面,把鍵盤捷徑連結到這些仍然可以使用的舊指令)。 |
增量內容輔助 | 勾選 Java > 編輯器 > 程式碼輔助喜好設定標籤上的自動插入共用字首, 在 Java 編輯器使用 Shell 樣式的漸進式完成作業。 如果可用的完成動作沒有共用字首,則會出現建議的蹦現畫面。 |
動態標示檔案中的搜尋結果 | 您可以利用新的標示搜尋結果工具列按鈕或指令 (Alt+Shift+O),
在 Java 編輯器標示所選元素的搜尋結果(![]() 只要所選的元素一改變,標示的搜尋結果也會自動變更。 依預設,標示的搜尋結果並不是很靈活, 換句話說,即使目前的脫字符號 (^) 位置已經沒有有效的 Java 元素了,它還是會強調顯示出來。 您可以利用「移除搜尋結果註釋」程式碼指令 (Alt+Shift+U),很快的移除標示的搜尋結果。 |
強調顯示方法結束點 |
如果您把游標置於方法的傳回類型,就會把所有的方法結束點全部強調顯示出來。 您可以透過喜好設定 Java > 編輯器 > 標示搜尋結果,來啟用強調顯示結束點。 |
標示擲出異常狀況的位置 | 當您選取一個異常狀況時,可以觸發動作搜尋 > 異常狀況搜尋結果,在 Java 編輯器標示擲出異常狀況的地方。
如果搜尋結果標示功能是透過 Java > 編輯器 > 標示搜尋結果喜好設定頁面開啟,
就會自動標示這些地方。
|
Java 編輯器會顯示被置換的方法 | 新的「置換指示器」註釋(請參閱工作台 > 編輯器 > 註釋喜好設定頁)
會在實作或置換另一個方法的方法上加上旗標。
依預設,置換和實作圖示會出現在左手邊的垂直尺規中,請按一下這個圖示,導覽至 Super 方法:
|
顯示在輪替浮動說明的多個註釋 | 當文字編輯器的尺規出現多個註釋時,它們會在滑鼠停在上面時並列顯示。
警告和動作(例如,快速修正、設定岔斷點以及標上書籤)都可以分別存取。
依預設,這項功能是停用的,
不過您可以在 Java > 編輯器 > 浮動說明喜好設定標籤上啟用它。
|
新的快速輔助提示 | 當您在 Java 編輯器打字時,如果有快速輔助可以使用,左邊距就會出現一個快速輔助提示(綠色燈泡)。
您可以使用編輯 > 快速修正 (Ctrl+1),或者按一下燈泡,就會出現提議。
您可以勾選 Java > 編輯器 > 外觀喜好設定標籤的快速輔助的燈泡,來啟用這項特性。
|
快速修正的鏈結模式 | 現在鏈結(範本)模式下會出現好幾個快速修正結果。
您可以呼叫快速修正,在所產生的傳回類型、方法名稱、引數類型和引數名稱之間導覽之後,使用 Tab 鍵和 Shift+Tab 鍵。
下面這些範例是使用鏈結模式的快速修正:
猜測引數的範例: 猜測異常狀況的範例: |
改良的 ID 猜測功能 | 在新增欄位、變數或參數時,快速修正會為新的 ID 猜測好的名稱。
自從使用新的鏈結模式特性之後,就能提供多個建議了。
![]() |
針對參數不符所改良的快速修正 | 新增幾個針對參數不符而改良的新 Java 快速修正,其中包括強制轉型、轉換、新增或移除引數或方法參數等功能。
|
新的快速輔助 | 新的快速輔助已經加入 Java 編輯器中。
您可以在下列項目按 Ctrl+1 鍵:
![]() |
以程式碼輔助建立 Getter 和 Setter | 除了建立置換方法之外,程式碼輔助也可以建立 Getter、Setter、預設建構子和方法 Stub。
您可以把游標停在成員之間的類型主體,然後按 Alt + /,取得建立方法 Stub 的提議。
|
快速建立建構子的方法 | 新的 Java 指令程式碼 > 利用欄位來產生建構子可以建立新的建構子,來起始設定所選的欄位。
您可以選擇這些欄位,從額外的建構子參數加以起始設定,而這些欄位的順序是透過對話框的上移鍵和下移鍵所控制。
現在程式碼 > 從 Super 類別新增建構子指令會蹦現一個對話框,讓您選擇 Super 類別的建構子,插入現行類別中。 不過,您還是可以使用快速輔助特性,在未經系統提示的情況下插入。 |
視察/顯示的蹦現畫面 |
評估蹦現畫面現在適用於所有的顯示和視察結果。
|
邏輯結構 |
現在 Java 除錯器可以讓特定的 Java 類型(包括集合與對映),
以更精簡以及更有意義的格式顯示。
這些邏輯結構是由「變數」視圖中的切換按鈕所控制。
![]() |
系統執行緒過濾器 |
依預設,系統執行緒是從「除錯」視圖過濾。 視圖下拉功能表中的顯示系統執行緒指令,會切換過濾器(開/關)。 |
從任一行進入選項副程序 |
Java 除錯器的進入選項的副程序指令,不再只限於目前執行的那一行。 |
類別準備岔斷點 |
您可以在類別準備事件上設定岔斷點。
如果指定的類別或介面先由 Java VM 載入時,就會暫停該程式。
|
異常狀況岔斷點超鏈結 |
現在異常狀況岔斷點可以直接從主控台的堆疊追蹤建立。
您只要按一下堆疊追蹤開頭之異常狀況名稱下面的超鏈結,
就會在剛剛建立(或者已經存在)的異常狀況岔斷點上,開啟一個內容對話框。
|
外部程式碼中的岔斷點 |
現在您可以在外部程式碼中設定岔斷點(換句話說,不在 Java 專案的建置類別路徑上的程式碼)。 只要除錯器出現外部程式碼,那麼在執行功能表上執行岔斷點建立動作,就會自動建立外部岔斷點。 |
重構更新岔斷點和啟動配置 |
Java 程式碼重構(例如,重新命名 Java 專案、程式檔或類型宣告)之後,
就會更新岔斷點和啟動配置。
|
更換快速程式碼失敗時,重新啟動選項 |
如果在主機 Java VM 中所作的變更,是更換快速程式碼不支援的 VM,除了選擇「繼續」或「終止」之外,還必須重新啟動 VM 選項。
|
預設的 VM 引數可以和 JRE 相關聯 |
Java > 安裝的 JRE喜好設定頁面可以讓您將一組預設的 VM 引數,
關聯到每一個 JRE。
只要用到這個 VM,這些引數就會傳送到該 VM。
|
程式碼和重構動作的快速功能表 |
重構和程式碼指令可以透過快速功能表加以存取。 請選取您要在 Java 編輯器或 Java 視圖操作的元素,然後按 Alt+Shift+S,顯示快速程式碼功能表, 或者按 Alt+Shift+T,顯示快速重構功能表。 |
Javadocs 中的重構更新參照 | 現在,重新命名、移動和變更方法簽章重構,也會更新 Javadoc 註解中的參照了。
其中包括 @see 和 @link 標籤,以及 @param 和 @throws 子句中的參照。
「重新命名」對話框已經被簡化: 更新 Javadoc 註解中的參照這個舊選項,已經摺疊到更新參照中了。 更新一般註解中的參照和更新字串文字中的參照這兩舊選項, 則是合併到更新註解和字串中的相符文字。 |
一般化類型重構 | 您可以在 Java 編輯器選取變數、參數、欄位或方法傳回類型的宣告,然後再選取重構 > 一般化類型。
這個精靈會顯示該變數的 Super 類型階層。 只要選取其中一種可用的類型,就會更新宣告。 ![]() |
引進 Factory 重構 | 您可以在 Java 編輯器選取一個建構子宣告或呼叫,然後選重構 > 引進 Factory。
靜態的 Factory 方法在建立之後,會呼叫 now-private 建構子, 而且所有對給定建構子的呼叫,都會換成對新 Factory 方法的呼叫。 ![]() |
引進參數重構 | 您可以在 Java 編輯器選取一個表示式,然後選取重構 > 引進參數。
|
改良的變更方法簽章重構 | 您可以在 Java 編輯器中選取一個方法,然後選重構 > 變更方法簽章。
甚至,連參數表中的編輯動作也一起簡化了,例如,您可以使用標準導覽鍵(Tab、Shift+Tab、上移鍵 & 下移鍵)。 您可以在資料格中按一下滑鼠,或者按 F2 或 Enter 鍵,來啟動編輯作業。 |
從內部類型擷取方法 |
如果您所用的是匿名、本端或非靜態成員類型所含的 Java 程式碼, 那麼現在擷取方法重構可讓您在外部類型建立新的方法。 |
擷取方法可以找到重複的程式碼片段 |
擷取方法可以尋找重複的程式碼片段,並且幫助您將它們擷取到新的方法。 比方說,如果您從片段擷取表示式 foo(a) + bar(b): ![]() 則會得出下述程式碼: ![]() |
方法呼叫階層 | 您可以在 Java 編輯器或任何一個顯示方法的 Java 視圖中,選擇導覽 > 開啟呼叫階層 (Ctrl+Alt+H),
開啟一個顯示方法呼叫階層的視圖。
|
Javadoc 視圖 | 新的 Javadoc 視圖(視窗 > 顯示視圖 > 其他 > Java > Javadoc)會顯示您在 Java 編輯器或 Java 視圖所選元素的 Javadoc。
Javadoc 視圖會使用 SWT 瀏覽器小組件,在支援它的平台上顯示 HTML。
|
「宣告」視圖 | 新的「宣告」視圖(視窗 > 顯示視圖 > 其他 > Java > 宣告)會顯示
您在 Java 編輯器或 Java 視圖中所選元素的程式碼。
|
類型過濾器 |
在程式碼輔助和快速修正提議所顯示的那一組類型,現在已經可以利用新的 Java > 類型過濾器喜好設定頁面加以過濾。 只要符合清單其中一項過濾器型樣的類型, 就不會出現在「開啟類型」對話框中,而且程式碼輔助提議和快速修正也不能使用它。 這些過濾器不會影響這些類型是否會出現在套件瀏覽器和「類型階層」視圖中。 ![]() |
改良的過濾支援 | 含有「過濾器...」項目的 Java 特定檢視功能表,現在含有相鄰的可檢查項目,供最近變更的過濾器使用。
|
出自保存檔的外部 Javadoc | 如果您把 Javadoc 文件存放在保存檔中,就不必再將保存檔解壓縮了。
現在 Javadoc 位置內容對話框支援把文件存放在保存檔中。
您可以選取一個 JAR,啟動其內容頁面(或者利用專案 > 內容
> Java 建置路徑 > 程式庫 > Javadoc 位置),
將文件附加在 JAR。
您可以使用導覽 > 開啟外部 Javadoc (Shift+F2),在瀏覽器開啟 Javadoc。 |
在「搜尋」視圖將選項分組 | 您可以在視圖功能表中,切換新的「搜尋」視圖(平面模式或階層式佈置模式)。
採用階層式模式的 Java 搜尋結果,現在可由專案、套件、檔案或類型加以分組。
|
在 Java 搜尋中尋找相符的過濾器 | 您可以過濾 Java 搜尋結果。
您可以過濾 Javadoc 註解、import 陳述式、讀取權和寫入權。
不過,只有適用於現行搜尋的過濾器,才會顯示出來。
|
搜尋本端和匿名類型 | 現在,搜尋作業完全支援本端和匿名類型。 尤其是,您可以搜尋所選本端類型的參照。 同時,搜尋結果現在也可以妥善的放在本端或匿名類型裡面(而不是總在最外邊的含括方法裡面)。 |
本端類型 | 現在依預設,本端和匿名類型都會出現在各種 Java 特定的視圖中,連同視圖上的過濾器一起隱藏它們。 |
即將棄用的元素 | 標示為即將棄用的類型、欄位和方法,現在是以斜線來呈現。
|
Javadoc 註解中的參照 | Java 基礎架構含有 Javadoc 註解中的參照。
您可以在好幾個地方看到這個參照,包括搜尋、組織匯入項目、編輯器中的鏈結重新命名,以及編輯器搜尋結果標記。
|
對話框欄位中的內容輔助 | 內容輔助 (Alt + /) 現在也可以在各種 Java 對話框的輸入欄位中使用。
請尋找焦點所在的欄位旁的小燈泡圖示。
|
「類型階層」視圖中的工作集支援 |
「類型階層」視圖現在支援以工作集來過濾。 一旦在視圖功能表選定一個工作集之後,「階層」視圖就只會顯示給定工作集所含的 Java 類型, 如果需要完成樹狀結構,則由母類型延伸(後者會顯示在白底影像中)。 ![]() |
套件類型階層中的介面 | 在套件開啟的類型階層 (F4) 現在也會顯示該套件的介面。
來源資料夾、專案和 JAR 的階層也一樣。
|
改良的 NLS 精靈 | NLS 精靈(程式碼 > 將字串提出)經過更新之後,可以處理已經提出的檔案:
|
使用者定義的程式庫 | 現在您可以把外部 JAR 組成具名的程式庫。
您可以在 Java > 建置路徑 > 使用者程式庫喜好設定頁面上,建立使用者定義的程式庫,
然後將它們加到專案內容的建置路徑中。
與類別路徑變數項目一樣,使用者程式庫的類別路徑項目,也會根據名稱來參照使用者程式庫 (不針對本端檔案系統的 JAT)。 |
Eclipse Java 編譯器相容於 JCK1.4a | 1.4 模式的 Eclipse Java 編譯器相容於 JCK1.4a;而 1.3 模式的 Eclipse Java 編譯器則相容於 JCK1.3a。 |
來源資料夾的併入型樣 | Java 建置路徑上的任何來源資料夾,現在都可以和部分併入型樣相關聯,如同選擇性的併入部分 Java 程式檔一樣。
這對於在選擇性的排除特定程式檔時,所能用的排除型樣來說,具有互補作用。
請注意,此二者其實都可以採用以下規則結合起來:如果兩者都指定,則排除型樣的優先順序一定是排在併入型樣前面。
例如,{include="src/", exclude="src/sub"} 代表沒有 'src/sub/' 子樹的 'src/' 樹狀結構。
併入和排除型樣都可以透過專案的建置路徑內容加以指定。
|
在 Java 程式碼中尋找 Static 成員的間接存取權 | 現在 Java 編譯器可以尋找 Static 成員的間接存取權,並且為它們設定旗標。
開啟這項功能的選項,是在 Java > 編譯器 > 樣式喜好設定頁面上(依預設,不會記錄它們)。
Static 成員的間接存取權,是所產生之類別檔的相容性問題。 如果類別檔是與 1.2 版以前的 JDK 相容, 編譯器會解析宣告類別的間接靜態參照(在本例中是 Y); 如果類別檔是與 1.2 以後的 JDK 相容,則編譯器會解析接收端類型的靜態參照(在本例中是 X)。 |
尋找臨時的 Boolean 指派 | Java 編譯器可以尋找臨時的 Boolean 指派。
開啟這項檢查功能的選項,是在 Java > 編譯器 > 樣式喜好設定頁面上(依預設,不會記錄它們):
|
標示非完整之實例欄位存取的 Java 編譯器選項 | Java 編譯器可以尋找實例欄位的未限定參照,並且為它們設定旗標。
這項檢查功能可以從 Java > 編譯器 > 樣式喜好設定頁面上啟用(預設為關閉)。
這個選項所支援的編碼樣式,該實例欄位的所有參照都是限定的,這是為了讓它們在視覺上與區域變數的參照有所區隔。 |
標示無法正常完成之 finally block 的 Java 編譯器選項 | 根據 Java 語言規格的定義,Java 編譯器可以尋找無法正常完成的 finally block,並且為它們設定旗標。
無法正常完成的 Finally block 可能會造成混淆,而且被視為不當的做法。
這項功能可以從 Java > 編譯器 > 樣式喜好設定頁面啟用(預設為警告)。
|
空的控制流程陳述式 | Java 編譯器可以將空陳述式設定旗標供控制流程陳述式主體使用。 請參閱 Java > 編譯器 > 樣式 > 空的陳述式下的喜好設定 |
為未加註解的空區段設定旗標的 Java 編譯器選項 | Java 編譯器可以尋找不是以註解記載的空區段,並且為它們加上旗標。 完全空的方法和類型主體也有嫌疑。 這項檢查功能可以從 Java > 編譯器 > 樣式喜好設定頁面上啟用(預設為關閉)。 |
尋找隱藏另一個欄位或變數的變數 | Java 編譯器可以尋找隱藏另一個欄位或變數的區域變數宣告和欄位。
開啟這項功能的選項,是在 Java > 編譯器 > 進階喜好設定頁面上(依預設,是不會報告它們的)。
|
在 Java 程式碼中尋找不必要的類型檢查 | Java 編譯器可以尋找不必要的強制轉型或 'instanceof' 作業,並且為它們設定旗標。
開啟這些功能的選項,是在 Java > 編譯器 > 未使用的程式碼喜好設定頁面上(依預設,是不會報告它們的)。
|
為已檢查之非必要異常狀況設定旗標的 Java 編譯器選項 | Java 編譯器可以尋找已檢查之非必要的異常狀況,並且為它設定旗標,這些異常狀況雖然已經宣告,卻尚未擲出。
這項檢查功能可以從 Java > 編譯器 > 未使用的程式碼喜好設定頁面上啟用(預設為關閉)。
請注意,給定方法所宣告擲出的已檢查異常狀況,一定比 Super 類別(介面)所宣告的更少。 |
新編譯器選項的快速修正 | 新的 Java 編譯器選項是隨附在對應的快速修正中:
已擲出之異常狀況的非必要宣告: |
處理 Javadoc 註解 | Eclipse Java 編譯器會處理 Javadoc 註解。
搜尋報告會參照 doc 註解,而重構會更新這些參照。
這項特性是從 Java > 編譯器 > Javadoc 喜好設定標籤加以控制
(或是利用專案 > 內容 > Java 編譯器 > Javadoc,針對個別專案加以設定)。
![]() |
專門處理 Javadoc 註解問題的快速修正 | 當您啟用 Javadoc 註解中的新問題標記後(上一個項目),就可以在 Java 編輯器使用快速修正,
來更正遺漏的 Javadoc 標示。
您只要按一下燈泡,或者使用編輯 > 快速修正 (Ctrl+1) 即可。
|
列入 JSR 位元組碼 | Java 編譯器可以利用 JSR 位元組碼指示,選擇性的防止產生類別檔 (通常是用來編譯 try-finally 區塊),而不是列入對應子常式的指示。 雖然所產生的類別檔有一點大,不過下載起來卻很快。 這個模式還在尋求 JSR 202 的支援。 請參閱 Java > 編譯器 > 標準和類別檔下的喜好設定。 |
執行個別的 JUnit 測試需要特殊設定 | JUnit 支援裝飾測試執行的個別測試。
其方法是在 TestCase 類別實作公用的靜態 setUpTest(Test) 方法,如下所示:
![]() 當測試即將個別執行時(包括重新執行一個失敗的測試),會自動使用 setUpTest 方法。 它會利用把具有特殊設定或 tear-down 的給定測試換行的常用方式,執行 setUpTest 所傳回的結果,而不是執行給定的測試。 |
在 JUnit 視圖中進行的改良的字串比較 | 如果 JUnit 測試因為遇到非預期的字串而失敗時,
可以按一下工具列的放大鏡按鈕,在比較檢視器中檢視字串之間的差異:
|