這份文件包含一些自 3.0 以來,Eclipse 3.1 版的 Java 開發工具所做的更有趣或更重要的變更說明。它分為以下幾節:
|
|
J2SE 5.0 |
Eclipse 3.1 包括 J2SE 5.0(又稱為 "Tiger")新特性的完整支援。這項支援其中一個最重要的結果是, 您完全不會注意它 -- 您預期可用於 J2SE 1.4 的所有項目(包括編輯、 程式碼輔助、編譯、除錯、快速修正、重構、程式碼動作、搜尋等等), 都能與 J2SE 5.0 的新類型與語法結合地搭配使用。 為了開發符合 J2SE 5.0 的程式碼,您需要有 5.0 Java Runtime Environment (JRE)。如果您第一次啟動 Eclipse 時是使用 5.0 JRE,則依預設會使用它。否則,您需要使用「已安裝的 JRE」對話框來以 Eclipse 登錄一個 JRE。您可以透過喜好設定 Java > 已安裝的 JRE,或在「新建 Java 專案」精靈中使用配置預設值... 鏈結,來到達這個對話框。 |
|
|
快速修正以 |
當您嘗試在 1.4 專案中輸入 5.0 建構時,
新的快速修正可協助您變更標準設定。請注意 1.5 JRE 是必要的,
其可以加入「已安裝的 JRE」的喜好設定頁面中。
|
|
|
「新建類型」精靈支援通用項目 |
「新建類型」精靈在各種不同的欄位中都支援 J2SE 5.0 通用類型:
|
|
|
建立列舉和註釋 |
您可以利用「新建列舉或註釋」精靈來建立列舉和註釋:
|
|
|
猜測類型引數 |
在 Java 編輯器中完成某一類型時,「程式碼輔助」會插入正確的類型引數。系統會選取無法釐清的類型引數,
且可使用 Tab 鍵從一個引數移至下一個引數。
在本例中,會插入
如果要嘗試這項特性,您需要啟用 Java > 編輯器 > 程式碼輔助喜好設定頁面中的填入引數名稱。 |
|
|
隱藏另一個類型診斷的類型參數宣告 |
Java 編譯器可以選擇性地標出隱藏了另一個類型的類型參數宣告。
|
|
|
「重新命名」重構 |
「重新命名」重構已擴充為可處理重新命名類型參數。 |
|
|
推斷通用類型引數 |
利用 J2SE 5.0,程式碼可以使用通用項目來加強可讀性和靜態類型的安全。重構
> 推斷通用類型引數是一個新的重構作業,有助於通用類別程式庫的用戶端(如:Java Collections Framework)移轉其程式碼。
重構會推斷通用類型的類型參數,也會移除任何不必要的強制轉型。其可對單一編譯單元運作, 也可對整個套件和 Java 專案運作。 |
|
|
通用項目的快速修正 |
針對無法解析 Java 類型,
您現在也可以取得建立新類型參數的提議:
|
|
|
用於參數化類型之參照搜尋的新搜尋結果過濾器 |
在搜尋參數化類型(如:
|
|
|
完成註釋 |
單一成員註釋或註釋屬性值內的程式碼完成也受支援。
|
|
|
註釋類型作為超介面診斷的用法 |
在 J2SE 5.0 中,Java 語言允許類別實作註釋類型。不過,並不建議您這麼做。Java 編譯器可以選擇性地標出這類用法。
|
|
|
@SuppressWarnings 註釋的支援 |
支援 J2SE 5.0 @SuppressWarnings 註釋。可辨識的警告記號名稱如下:
"all"、"boxing"、"dep-ann"、"deprecation"、"incomplete-switch"、"hiding"、"finally"、"static-access"、"nls"、"serial"、"synthetic-access"、"unqualified-field-access"、"unchecked"、"unused" 和 "warningToken"。在下例中,第一個欄位會以
@SuppressWarnings("deprecation") 註釋標示,
且不會報告任何棄用警告。第二個欄位不會標示,且會報告棄用警告。
請注意,編譯器選項會控制 @SuppressWarnings 註釋是否為作用中。請查看喜好設定 Java > 編譯器 > 錯誤/警告 > J2SE 5.0 選項 > 啟用 '@SuppressWarnings' 註釋 依預設,未處理的警告記號會以警告來通知。 這個警告也可以利用 @SuppressWarnings("warningToken") 註釋來抑制。 |
|
|
快速修正 |
可利用 @SuppressWarning 註釋抑制的警告提供了快速修正來執行。對以下未使用的區域警告套用快速修正 產生: |
|
|
遺漏 @Override 註釋診斷 |
Java 編譯器可以選擇性地標出置換了 Super 類別方法,
但遺漏適當 @Override 註釋的方法。
遺漏的 @Override 註釋可利用快速修正來新增。 |
|
|
遺漏 @Deprecated 註釋診斷 |
Java 編譯器會辨識
@Deprecated 註釋,並將其視為相等於 doc 註解
/** @deprecated */。它可選擇性地標出遺漏適當 @Deprecated 註釋的已棄用的建構(以鼓勵使用註釋而非 doc 註解標示)。
|
|
|
不完整的 enum switch 陳述式診斷 |
Java 編譯器可以選擇性地標出不完整的 enum switch 陳述式。
|
|
|
'enum' ID 的編譯器診斷 |
Java 編譯器可找出並標示使用
'enum' 作為 ID 的位置。雖然 'enum' 在程式碼層次 1.4 之前都是合法的 ID,
但在 5.0 的程式碼中則是保留關鍵字。啟用這個警告有助於預測程式碼移轉的問題。請查看喜好設定 Java
> 編譯器 > JDK 標準 > 不允許稱為 'enum' 的 ID。
|
|
|
快速修正以 |
快速修正支援建立列舉常數。在下例中,列舉 Colors 遺漏常數 BLUE |
|
|
autoboxing 參數 |
提出的參數包括
auto(un-)boxing 的提議:
附註:您必須啟用 Java > 編輯器 > 程式碼輔助 > 完成時填入引數名稱喜好設定。 |
|
|
Boxing/ |
J2SE 5.0 autoboxing 功能十分強大,
但可能導致非預期的行為,特別是在傳遞引數時。編譯器引進了選用性診斷,
可指出何時執行了 autoboxing 或 autounboxing。在下例中,
可能認為會呼叫 foo(Integer) ,
但由於執行了 autounboxing,因此是呼叫 foo(int) 。
|
|
|
Java 編輯器中 J2SE 5.0 的支援 |
Java 編輯器針對新的 J2SE 5.0
語言特性提供了語法著色。請移至 Java > 編輯器
> 語法著色喜好設定頁面來變更顏色,或啟用類型變數、註釋元素以及
auto(un-)boxed 表示式的語意著色:
|
|
|
迴圈範本的新功能 |
foreach 範本會插入新的 'for' 迴圈到程式碼中,並提出您可能要加以疊代的區域 Iterable 實例:
|
|
|
轉換成加強型 for 迴圈 |
新的「快速輔助」(Ctrl+1)
可讓您將舊式透過陣列和集合的 for 迴圈,轉換成
J2SE 5.0 加強型 for 迴圈:
「快速修正」會將迴圈簡化成: |
|
|
Varargs 引數 |
Java 編譯器可以選擇性地標出有疑問的
varargs 方法呼叫。如果最後一個引數是空值,並不會如預期包裝成一個元素的陣列;
加入明確的強制轉型可以使程式碼更清楚。
該喜好設定位於 Java > 編譯器 > 錯誤/警告 > J2SE 5.0 選項 > vararg 引數不嚴格的類型比對。 |
|
|
完成使用靜態匯入項目 |
在推斷上下文相關的完成時,Java 編輯器中的程式碼完成能夠處理靜態匯入項目。
|
|
|
靜態匯入項目 |
如果要組織靜態匯入項目,請建立靜態匯入項目的群組,
並將其放在您喜好的位置。您可以定義
'others' 群組來收集所有不符合其他群組的匯入項目:
'others' 群組特性也可用於非靜態匯入項目。 |
|
|
支援 |
增加了特殊程式檔 package-info.java 的支援,其可接受標註和記錄套件。
所有的 JDT 工具(程式碼輔助、程式碼選取、搜尋、概要、類型階層等等),都可用於這個特殊編譯單元中。
系統會處理 package-info.java 內的 Doc 註解,且會驗證標準註解標示中的語法和參照。 |
|
|
J2SE 5.0 建構的程式碼格式製作器 |
程式碼格式製作器支援所有新的
J2SE 5.0 語言建構。控制格式製作器如何處理的方式,
位於 Java > 程式碼樣式 > 程式碼格式製作器喜好設定頁面中:
|
|
|
除錯 5.0 程式碼 |
您可以執行及除錯含有 1.5 JRE 的 5.0 程式碼。Java 除錯評估支援 J2SE 5.0 建構,如:一般及加強型的 for 迴圈。 |
|
|
區域內部類型的類別檔命名變更 |
在 5.0 標準模式中,Java
編譯器所產生的類別檔會遵循
JLS 13.1(第 3 版)中針對區域內部類型所指定的命名慣例。結果,
在下例中,它不會產生名稱為 X$1$A.class 的檔案,
而只會產生 X$1A.class 。
|
|
|
|
監視點和 |
按兩下 Java 編輯器尺規會對欄位建立監視點, 並對方法宣告建立方法進入岔斷點。 |
|
|
鎖定和死鎖 |
由執行緒擁有的鎖定以及執行緒等待的鎖定,都可以透過切換「除錯」視圖下拉功能表中的顯示監視器功能表項目,顯示在「除錯」視圖中。用於死鎖的執行緒和鎖定會以紅色強調顯示。 |
|
|
導覽堆疊追蹤 |
您可以將堆疊追蹤複製並貼到「Java 堆疊追蹤主控台」, 並使用超鏈結來導覽追蹤。您可以從「主控台」視圖中的開啟主控台下拉功能表, 開啟「Java 堆疊追蹤主控台」。貼上的堆疊追蹤可以透過標準格式按鍵連結加以格式化。 |
|
|
'toString()' inline |
變數經過 toString() 計算的值可以列入「變數」視圖樹狀結構內, 以及詳細資料區中。 視圖下拉功能表中的 Java 詳細資料格式製作器... 指令, 可用來配置這項特性運作的方式。 |
|
|
使用者定義的邏輯結構 |
Java 除錯器現在可讓您控制針對不同類型的物件, 變數視圖中顯示的內容。比方說, 集合可以顯示成簡單的陣列值, 而非赤裸裸地呈現該特定集合物件之實作方式的詳細資料。 這是從 Java > 除錯 > 邏輯結構喜好設定頁面來完成,
您可在其中建立特定類別或介面與單一表示式(如: |
|
|
修改加強型變數值 |
Java 除錯器現在可讓您將表示式輸入變更值對話框,或是變數視圖的詳細資料區中,再按儲存,來變更變數的值。 |
|
|
尋找變數 |
「變數」視圖中的「尋找變數」動作可讓您輸入您要尋找的變數名稱。根據您的輸入, 「變數」視圖會選取下一個符合輸入文字的可見變數。同樣地,「尋找變數」對話框也會顯示到目前為止符合輸入文字的變數。 |
|
|
Javadoc 附件 |
您現在可以建立不同 Javadoc 位置與 JRE 的程式庫中每一個 JAR 的關聯性。 |
|
|
|
新的 Javadoc |
當您啟用 Javadoc 檢查時,您可以將它配置成
這些設定位於 Java > 編譯器 > Javadoc 喜好設定頁面中。 |
|
|
針對字尾表示式診斷沒有影響的指派 |
沒有影響的指派的選用性診斷會偵測字尾表示式指派給相同變數(例如:i = i++;)的狀況。
|
|
|
序列版本 UID |
有一個新的選用性編譯器診斷,
會判斷可序列化的類別遺漏 該喜好設定位於 Java > 編譯器 > 錯誤/警告 > 可能的程式設計問題 |
|
|
早期偵測內部類別的參照 |
您可以在 Java 建置路徑(內容 > Java
建置路徑 > 程式庫)標註程式庫(和專案)項目,
來識別程式碼中要避免直接參照的任何內部套件。比方說,
相依於常位於 J2SE 程式庫中任一供應商的專屬套件(像是com.ibm.* 或 com.sun.* ),
通常不是很好的做法。存取限制會以建置路徑項目的併入和排除規則的組合來表示。型樣語法會遵循
Ant 檔案集表示法,且會比對類別檔的路徑。比方說,使用型樣 com/ibm/**
作為排除規則會限制存取 com.ibm
套件和其子套件中的所有類別;使用型樣
org/eclipse/**/internal/** 作為排除規則會將所有類別捕捉到內部
Eclipse 套件中。當您提供併入規則時,
每一個符合這些規則的項目皆合格,每一個不符合的項目則視為超出範圍。
Java > 編譯器 > 錯誤/警告 > 已棄用和受限的 API 喜好設定可讓您控制錯誤的參照是要標示成錯誤或警告(依預設, 禁止的參照會是錯誤,不建議的參照則是警告)。 |
|
|
程式庫和專案的存取規則 |
存取規則可對被參照的程式庫和專案定義,
來明確地允許/不允許/不建議存取特定的類型。
|
|
|
|
改良的摺疊圖示和標題 |
當您摺疊 Java 元素時,
留在 Java 編輯器中的字行會是包含元素名稱的字行。畫面上會顯示摺疊之 Javadoc
註解的第一行註解。Java 編輯器中顯示的新輕量型摺疊圖示,
現在不同於置換和實作指標:
|
|
|
摺疊標頭註解 |
您可以摺疊 Java 程式檔中的標頭註解和版權聲明:
|
|
|
標記繼承方法的出現項目 |
Java 編輯器可以強調顯示實作或置換繼承自選定
Super 類型之方法的所有方法宣告。請查看 Java > 編輯器
> 標示出現項目 > 實作介面的方法喜好設定。
|
|
|
新的出現項目快速功能表 |
您可以按 Ctrl+Shift+U,
在 Java 編輯器中開啟含有搜尋出現項目的快速功能表。
附註:慣用舊行為的使用者可以將上述按鍵順序重新指派為「搜尋檔案中所有出現項目」指令。 |
|
|
在 Java 編輯器中強調顯示已棄用的類別成員 |
已棄用的類別成員可透過進階強調顯示加以標示: |
|
|
Javadoc 中的參照 |
Eclipse 現在可辨識 doc 註解內之
Java 元素(亦即,@see、@link、
@linkplain、@throws、@exception、@param 或 @value 標示)的參照。如此會啟用被參照之 Java 元素的浮動說明和鏈結。
|
|
|
改良對空單字的完成 |
對空單字的 Java 程式碼完成不再於完成位置自動提議所有可見的類型。您必須輸入類型的第一個字元,才能取得完成提議。
|
|
|
Javadoc 的工具提示說明 |
透過編輯 > 顯示工具提示說明 (F2) 顯示的 Javadoc 會顯示在「SWT 瀏覽器」小組件中。 |
|
|
移動字行調整縮排 |
當您在 Java 編輯器內移動字行時,移動字行(Alt+上移/下移鍵) 和複製字行(Ctrl+Alt+上移/下移鍵)指令會自動調整選定字行的縮排。 |
|
|
改良的 Java 內容檔編輯器 |
Java 內容檔的編輯器已大幅改良。其提供語法強調顯示、
改良的按兩下行為,以及分隔字型喜好設定。語法強調顯示顏色可以從 Java
> 內容檔編輯器喜好設定頁面中調整。您也可以使用拼字檢查,
以及使用「快速修正」(Ctrl+1) 來修正拼字問題。
|
|
|
使用提出的字串 |
當您在 Java 編輯器中於提出字串的按鍵處徘徊時,
相關聯的提出值會顯示在浮動說明中:
對它按 Ctrl+按一下可直接導覽到對應 Java 內容檔中的項目: |
|
|
在「內容檔」編輯器中從內容鍵導覽到其參照 |
您可以使用導覽 > 開啟 (F3)
或 Ctrl+按一下,從「內容檔」編輯器中的內容鍵導覽回程式碼中參照該按鍵的位置。
|
|
|
「將字串提出」精靈支援新的訊息軟體組 |
「將字串提出」精靈支援 Eclipse 的提出字串機制,這是這個版本的新功能:
|
|
|
類似 Java 編輯器,以新的 API 建立程式碼提議 |
要實作 Java 類似語言的編輯器?請建立您自己的,類似 Java 編輯器中提出的程式碼輔助提議。
您可以建立 CompletionProposalCollector 的實例,
以取得與 Java 編輯器相同的提議;或是製作其子類別,
以在您自己的提議中混合使用。您可以使用 CompletionProposalLabelProvider
以取得正確的影像和標籤,再利用 CompletionProposalComparator 排序提議。
套件: |
|
|
|
新的「開啟類型」對話框 |
「Java 開啟類型」對話框已於幾個方面加以改良:
於幕後還有主要的架構變更。對話框中顯示的類型現在會位於 Java 搜尋引擎查詢中。與先前使用的會用到大量記憶體的做法相較, 這個做法可以在一般 Eclipse 開發工作區中節省 4-6MB 的記憶體。 |
|
|
組織含有許多專案的工作區 |
您可以使用「套件瀏覽器」之「檢視」功能表中的顯示 > 工作集,來啟用將工作集顯示為最上層元素的新模式。這個模式會使得管理含有許多專案的工作區更加容易。
您可以從「套件瀏覽器」的「檢視」功能表中使用選取工作集,來配置要顯示哪些工作集。這個對話框可讓您建立新的 Java 工作集、定義要顯示哪些工作集,以及顯示的順序。 您也可以在「套件瀏覽器」中利用拖放和複製/貼上,來直接重新排列工作集。 |
|
|
「新建 Java 專案」精靈改良的來源資料夾頁面 |
「建立 Java 專案」精靈中改良的來源資料夾配置頁面,
可協助您從現有的程式碼建立專案。您可以定義來源資料夾項目、
在樹狀結構中直接併入/排除資料夾,以及立即測試動作的結果。
|
|
|
共用 Java 專案設定 |
每一個 Java 專案都可以附帶編譯器選項和程式碼樣式的自訂設定。這些設定會儲存在專案本身,
且會在從儲存庫載入(或更新)專案時自動套用。
透過 UI 修改 Java 專案的設定時, 會將這些設定自動寫入 .settings 目錄的檔案中。(設定檔的內容會自動產生, 而不需要直接編輯)。 |
|
|
瀏覽至專案專屬的設定 |
也可依各個專案配置之設定的喜好設定頁面,
提供了連結至專案專屬喜好設定頁面的鏈結。
|
|
|
儲存在 .classpath 檔中的 Javadoc 位置 |
連接到 JAR 檔和類別資料夾的 Javadoc 位置係儲存在
.classpath 檔中,使其可以與團隊共用。當 3.1 啟動時,背景工作會將所有先前內部儲存的位置,
移轉到 .classpath 檔中。
「開啟外部 Javadoc」(CTRL + F2) 和 Javadoc 精靈會使用該 Javadoc 位置。 |
|
|
快速輔助和快速修正的快速鍵 |
某些常用的快速輔助,如:在檔案中重新命名和指定給區域,可以直接利用
Ctrl+2 R 和 Ctrl+2 L 來呼叫。請查看按鍵喜好設定頁面,
以取得其他支援直接呼叫的快速修正。
|
|
|
新的快速修正 |
新的「快速修正」已增加數個 Java 編譯器選項,例如:
|
|
|
新的快速輔助 |
Java 編輯器中增加了一些「快速輔助」(Ctrl+1):
|
|
|
可從「編輯」功能表使用重構「還原/重做」 |
重構的「還原/重做」現在可從「編輯」功能表使用, 且個別的重構「還原/重做」動作已從整體功能表列移除。此外,重構的「還原/重做」作業現在已與 Java 編輯器的「還原/重做」整合, 導致編輯器中有更多透通的還原項目。比方說,從編輯器內觸發的重構, 現在只要在編輯器中按 Ctrl+Z 即可還原。 |
|
|
調整成員可見性 |
重構指令「移動方法」、「移動成員類型到新檔案」、「移動靜態成員」、「自動拉出和推入」會在需要的位置變更被參照之欄位、方法和類型的可見性。
|
|
|
「移動方法」重構 |
重構 > 移動指令已擴充成對移動實例方法有更佳的支援。新的特性包括:
|
|
|
「在可能的位置使用 Super 類型」重構 |
「在可能的位置使用 Super 類型」重構作業已擴充了一個喜好設定,
可指定 instanceof 表示式中的類型出現項目是否應更新:
|
|
|
「套件瀏覽器」中的「建置路徑」功能表 |
「Java 套件瀏覽器」的快速功能表有一個新的「建置路徑」功能表項目,
提供了上下文相關的動作來修改 Java 專案的建置路徑。
您可以新增/移除新的來源資料夾、保存檔和程式庫,
以及從來源資料夾併入/排除資料夾和檔案:
|
|
|
新的 Eclipse 預設內建格式製作器設定檔 |
雖然 Eclipse 預設的 3.0 程式碼格式製作器設定檔名稱為「Java 慣例」,但是利用這個設定檔來製作檔案格式會使用欄標而非空格來縮排。 新增加的名稱為 Eclipse 的設定檔會反映預設格式製作器選項附帶的內容,並使用欄標來縮排。 如果要使用真正的「Java 慣例」設定,只要利用 Java > 程式碼樣式 > 格式製作器喜好設定頁面將格式製作器設定檔切換到「Java 慣例」即可。 |
|
|
一次變更多個折行設定 |
「Java 程式碼格式製作器」頁面可讓您在樹狀結構中進行複選,
然後變更設定,來一次變更多個折行設定:
程式碼格式製作器設定位於 Java > 程式碼樣式 > 格式製作器喜好設定頁面中。 |
|
|
混合的縮排設定 |
Java 格式製作器喜好設定允許從縮排大小獨立配置欄標大小
(請查看格式製作器設定檔中的縮排欄標):
比方說,將欄標大小設為 8 並將縮排大小設為 4,可將程式碼縮排 4 個空格。 如果您將欄標原則設為混合,每兩個縮排單元會換成一個欄標字元。 您可以在 Java > 程式碼樣式 > 格式製作器喜好設定頁面中配置格式製作器設定檔。 |
|
|
先重新執行失敗的測試 |
JUnit 視圖中有新的動作,
可讓您在傳遞任一失敗的測試之前,先重新執行。
|
|