“精通 Eclipse” 系列的這一部分將詳細介紹 Eclipse 的 Java 編輯器。開發人員將在這個編輯器上花費大量的時間,因此了解其高級功 能可以顯著提高您的生產率。
Organize Imports 命令
Organize Imports 命令將添加缺失的導入並將現有的導入聲明組織到 Java 文件中。您可以通過使用 Ctrl+Shift+O 組合鍵在當前編輯器 中運行這條命令。要將 Organize Imports 命令應用到整個項目中,請右鍵單擊項目浏覽器中的項目並選擇 Source > Organize Imports。
假定您在 Java 文件中的某個位置使用了一個類,但是您忘記導入該類:Organize Imports 可以為您自動導入該類。如果該命令不確定類 的位置,將打開一個窗口並顯示一列可以進行選擇的選項。例如,如果在代碼中使用 List 類,當運行 Organize Imports 命令時,則可能彈 出一個窗口,要求您在 java.util.List 與 javax.swing.List 之間選擇,因為命令自己無法選擇。
Organize Imports 還將常用的 .* 樣式的導入聲明分為獨立的導入語句。例如,假定您的文件中有一個諸如 import java.util.* 之類的 導入語句,並且僅使用來自該包的 List 類。Organize Imports 命令將把初始的 import 語句替換為 import java.util.List。
選取字符串的一部分
通常,您需要在兩個字符串之間連接一個變量。絕大多數情況下,這些字符串屬於一條單一語句,並且很容易犯下在字符串兩側遺漏空格的 錯誤。例如,您可能會得到 You have5seconds left 之類的輸出,而非 You have 5 seconds left。Eclipse 將防止您掉入這個陷阱:
在代碼內像往常一樣鍵入字符串:static String getMsg(int time)
{
return "You have 5 seconds left";
}
選擇需要用變量替換的字符串部分 — 在本例中為數字 5。
按 Ctrl+1 組合鍵並選擇 Pick out selected part of String。
圖 1. 選擇 Pick out selected part of String
結果顯示在圖 2 中。
圖 2. 選取選中的字符串部分
用變量替換中間的字符串。
圖 3. 用變量替換字符串
現在可以確保您不會犯空格錯誤。
自動創建局部變量
您經常需要調用方法並將其值賦給新局部變量。使用 Eclipse 可以讓您輕松地執行此操作,並且您絕不希望再使用舊方法執行這樣的操作 :
鍵入方法調用:public void foo()
{
getMsg(3);
}
不需要移動插入標記,按 Ctrl+1 組合鍵並選擇 Assign statement to a new local variable(參見圖 4)。如果需要使用字段而非局部 變量,可以選擇 Assign statement to a new field。
圖 4. 選擇 Assign statement to a new local variable
系統將為您創建與該方法的返回值類型相同的新局部變量。系統將給它提供相應的名稱,但是您可以根據需要更改名稱(參見圖 5)。按 Enter 鍵接受該名稱。
圖 5. 您可以更改變量的名稱
快速概要
概覽視圖十分有用,因為它可以讓您輕松地跳到 Java 文件中的方法。但是此視圖將占用大量寶貴的屏幕區域。
快速概要視圖將提供概覽視圖的所有功能,而無需占據屏幕區域。要從編輯器內激活快速概要視圖,請按 Ctrl+O 組合鍵。系統將顯示一個 彈出式窗口,其中顯示文件的概要。
圖 6. 按 Ctrl+O 組合鍵打開快速概要視圖
您可以使用箭頭鍵浏覽所有方法。要更加快速地跳到某種方法,可以鍵入其名稱。列表將開始過濾,只為您顯示以所鍵入字符為開頭的方法 。
圖 7. 開始輸入並且概要視圖開始過濾
快速打開類型(Quick Open Type)
Open Type 窗口對於 Package Explorer 的作用與快速概要對於 Outline 視圖的作用相同。
在編輯器中按 Ctrl+Shift+T 組合鍵。將彈出一個窗口,您可以在其中鍵入工作空間中的所有類的名稱(參見圖 8)。單擊 OK,並且將在 編輯器中立即打開該類。無需在 Package Explorer 中浏覽樹即可打開所需類。
圖 8. 使用 Open Type 窗口可以立即跳到工作空間中的任意類
在鍵入類名以過濾文本框下方的列表時,可以使用通配符。例如,鍵入 *Exception 以顯示所有 Exception 類。
面包屑欄(Breadcrumb bar)
面包屑欄是在 Eclipse V3.4 中引入的。它位於編輯器窗口的頂部,剛好位於選項卡下方,並且提供了 Package Explorer 和 Outline 視 圖的功能(參見圖 9)。如果它尚未啟用,則可以按 Alt+Shift+B 組合鍵啟用。
圖 9. 面包屑欄
面包屑欄將指出當前編輯器與當前工作空間之間的相對路徑。單擊一個黑色箭頭將為您顯示元素的內容,從而允許您通過面包屑欄浏覽整個 工作空間。
圖 10. 面包屑欄允許您通過該欄浏覽工作空間
快速 Javadoc
您是否希望了解某種方法的用途?Eclipse 可以輕松地向您展示所有方法的 Javadoc。只需將光標停到該方法上,即可打開 Javadoc 窗口 。
圖 11. 將光標停到任意 Java 元素上將顯示相關 Javadoc —— 在本例中為 indexOf 方法
但是此功能還不止於此。把光標移到彈出窗口中,該窗口將變為可滾動窗口(參見圖 12)。位於底部的按鈕允許您在外部窗口中打開 Javadoc 並轉到正在查看其 Javadoc 的元素聲明。
圖 12. 把光標移到彈出窗口中可使其變為可滾動窗口
自動格式化
您可以使用 Eclipse 的自動格式化功能自動設定文檔的格式。右鍵單擊 Package Explorer 中的文檔並選擇 Source > Format。您甚至 可以通過在 Package Explorer 中右鍵單擊項目(而非單個文件)來設置整個項目的格式。
要配置 Eclipse 格式化代碼的方式,需執行以下操作:
選擇 Window > Preferences,然後浏覽到 Java > Code Style > Formatter。
圖 13. 編輯 Eclipse 格式化文檔的方法
單擊 New 並在打開的窗口中輸入名稱以創建新的格式化配置文件。
在創建配置文件後,單擊 Edit 開始編輯該配置文件的格式化首選項。
打開的 Profile 窗口包含配置源代碼格式的詳細設置(參見圖 14)。您可以配置所有格式,包括源代碼中的各個元素所需的縮進,以及導 入組之間顯示的空行數目。
圖 14. Eclipse 允許詳細配置格式設置
單擊 OK 以關閉 Profile 窗口。再次單擊 OK 關閉 Preferences ??口。
注意,新格式設置將在下一次 設置源代碼格式時應用。
保存操作
保存文檔時將觸發保存操作。在保存文檔時,保存操作將允許自動執行格式化代碼及組織導入之類的操作。要配置保存操作,需執行以下操 作:
選擇 Window > Preferences > Java > Editor > Save Actions 以打開 Preferences 窗口。
圖 15. 在 Preferences 窗口中配置 Save Actions
選中 Perform the selected actions on save 復選框。
選擇在保存時需要執行的所有操作。單擊 Configure 以查看更多操作。
圖 16. 單擊 Configure 顯示更多操作
例如,您可以選中 Code Style 選項卡中的 Convert for loops to enhanced 復選框以在每次保存文檔時將所有 for 循環轉換為 Java 5 樣式的增強循環。
Save Actions 可以為您節省大量時間。例如,您可以采用任意方法輸入代碼,而無需擔心格式問題,並且在每次保存文檔時,系統仍將自 動地設定代碼的格式。
代碼折疊
按照字面的意思,代碼折疊將允許您折疊代碼片段,這樣編輯器不會變得過於混亂。要折疊一個方法,請單擊左側標尺中的 - 圖標。
圖 17. 單擊 - 符號將折疊代碼
在折疊代碼後,- 圖標將變為 +,您可以再次單擊 + 以展開方法。如果在方法處於折疊狀態時把光標停在 + 號上,彈出窗口將顯示方法中 的文本。
圖 18. 把光標停在 + 圖標上將顯示折疊後的代碼的預覽
生成 hashCode() 和 equals()
Eclipse 允許您自動生成類的 hashCode() 和 equals() 方法,因此您無需親自執行此操作。這樣,您可以在編寫這些方法時避免犯錯誤。 要生成方法,需執行以下操作:
選擇 Source > Generate hashCode() and equals()。
打開的窗口將詢問您在類中調用 hashCode() 和 equals() 方法時需要包括哪些字段。
圖 19. 選擇在其上生成 hashCode() 和 equals() 方法的字段
選擇所需字段並單擊 OK。系統將為您生成 equals() 和 hashcode() 方法。
概覽標尺
概覽標尺被嵌到編輯器窗口的右側。它將允許您在編輯器中即時查看需要注意的所有錯誤、警告或其他標記。如果編輯器中有任何錯誤,則 該欄的右上角將顯示一個紅方塊。
圖 20. 概覽標尺中的紅方塊表示編輯器中有一個或多個錯誤
另一方面,黃方塊表示編輯器中存在警告。
圖 21. 概覽標尺表示編輯器中存在警告
使用概覽標尺,您可以立即跳到編輯器中的任意一個錯誤/警告。只要編輯器中出現錯誤/警告,標尺將顯示小的黃色/紅色標記(參見圖 22 )。如果單擊此標記,編輯器將立即跳到代碼中的相應位置。
圖 22. 顯示兩個警告和一個 TODO 注釋的概覽標尺
概覽標尺還可以表示編輯器中其他需要注意的位置。例如,如果有 TODO 注釋,或者如果執行搜索,概覽標尺中將標記出相關行;單擊標記 將把您帶到相應行中。
如名稱所示,概覽標尺將使您可以浏覽編輯器中需要注意的行。在編寫 Java 代碼時,您會發現它是一個非常寶貴的工具。
結束語
本文已經介紹了 Eclipse 中有關 Java 編輯器的一些高級功能。您已經看到如何自動生成代碼的常用部分。您還了解了如何關閉 Eclipse 視圖但仍然使用其功能,這都要感謝 Eclipse 編輯器提供的各種快捷鍵。本文還討論了 Java 編輯器中可以顯著提高生產率的其他功能。