接上文《20個IntelliJ IDEA最常用的導航功能(上)》
有個常見的模式是您需要通過類層次結構跳轉到當前方法(或整個類)的上方。在大多數IDE中,您可以在方法定義旁邊的裝訂線上看到一個特殊的圖標,通過點擊該圖標,可以導航到超類(或接口)中相應的方法定義。除此之外,IntelliJ IDEA還有一個專門的操作稱為"Super Method",通過Ctrl + U(OS X上為Cmd + U)可用。這個操作可以讓您一次跳到上方,甚至無需觸碰鼠標。
如果您可以通過類層次結構向上跳轉,為什么不能向下導航呢?很少有IDE提供這樣的選項,而IntelliJ IDEA就是其中之一。除了將您帶到超類的圖標外,IntelliJ IDEA還提供了導航到派生類中相應方法定義的圖標,因此您可以進行上下跳轉。
那些希望更快地向下導航類層次結構的人,可以使用與Ctrl + Alt + B(OS X上為Cmd + Alt + B)映射的"Implementations"操作。該操作允許您從派生類的整個列表中選擇要前往的一個實現:
如果您想查看實現或重寫當前方法的所有類的完整層次結構怎么辦?在IntelliJ IDEA中,您可以通過調用"Method Hierarchy"操作來實現,通過Ctrl + Shift + H(OS X上為Cmd + Shift + H)可用。這個操作可以幫助您找出您可能想要導航的類。
前文學習了如何在方法定義的層次結構上導航。有時,我們還需要在當前類(或插入符號所在的類)的層次結構上導航,而不管任何方法。為了做到這一點,在大多數IDE中,您可以使用顯示給定類(或接口)層次結構的操作。在IntelliJ IDEA中,這個操作被稱為"Type Hierarchy",并映射為Ctrl + H。
正如您所見,這個操作的結果是一棵樹,有些人可能覺得這種格式難以理解,這就是為什么IntelliJ IDEA還有另一個操作,稱為"Diagram popup",通過Ctrl + Alt + U(OS X上為Cmd + Alt + U)進行映射。與顯示無聊的樹不同,此操作在圖表上可視化給定類的層次結構。
您可以在圖表上導航到任何類或接口。
談到在層次結構、類和方法定義上導航時,我們幾乎涵蓋了所有內容,除了一件特定的事情:在方法調用的層次結構上導航。每個方法調用其他方法,而這些方法又調用其他方法,依此類推。這就是為什么有時候您可能想要導航到從當前方法調用的方法之一,或者導航到調用當前方法的方法之一。在IntelliJ IDEA中,您可以通過調用Ctrl + Alt + H鍵映射的"Call Hierarchy"操作,快速獲取包含方法調用層次結構的彈出窗口:
另一個經常出現的情形是導航到光標所在位置的符號(常量、字段、變量、方法、類或接口)所使用的地方。為了實現這一點,在任何集成開發環境中,您可以使用查找用法操作。這種操作的一個缺點通常是它的重量級:它啟動一個長時間運行的搜索過程并打開一個帶有結果的工具窗口。這就是為什么IntelliJ IDEA還提供了一個輕量級版本的此操作,稱為“顯示用法”,可以通過Alt + Ctrl + F7(OS X上的Cmd + Alt + F7)進行訪問:
此操作在彈出窗口中顯示結果,并默認使用項目級別范圍。當您第二次調用此操作時,它會將范圍更改為項目和庫級別。
本文的第一個模式是關于最近訪問文件的導航。如果我們想將此列表縮小到最近編輯的文件呢?對于這個問題,使用IntelliJ IDEA的“最近編輯的文件”操作非常簡單,快捷鍵為Ctrl + Shift + E(OS X上的Cmd + Shift + E):
您認為您的集成開發環境只應該識別項目文件中的一般關系(例如類層次結構、測試覆蓋率、用法等)嗎?那么更具體的情況呢?為了基于特定關系進行導航,IntelliJ IDEA提供了相關符號操作,快捷鍵為Ctrl + Alt + Home(OS X上的Cmd + Alt + Home)。通過此操作,例如,您可以輕松在Spring MVC、Grails甚至JavaFX應用程序中在視圖和控制器之間導航:
由于IntelliJ IDEA還能夠識別項目中的特定關系,它還帶來了哪些其他特定導航模式?如果您是Web應用程序開發人員,您可以調用“轉到符號”操作,通過輸入URL來導航到視圖控制器:
IntelliJ IDEA中的數據庫工具也有其特定的導航模式。您可以通過使用“轉到符號”操作并輸入表的名稱,快速跳轉到數據庫工具窗口中的表:
如果您在表或列上調用“查找用法”,IntelliJ IDEA將顯示引用它的所有其他表:
并且,IntelliJ IDEA還可以在給定表中導航到主鍵的用法。例如,您可以要求IDE顯示引用當前行的其他表中的行:
本文旨在介紹IntelliJ IDEA如何幫助您在項目中進行導航,以提高代碼編寫效率和保持專注。導航的重要性在于快速切換不同代碼片段之間,而快速切換意味著更高的工作效率。希望本文對您的編碼有所幫助。
本文鏈接:http://www.tebozhan.com/showinfo-26-11872-0.html20個IntelliJ IDEA最常用的導航功能(下)
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 四個鮮為人知的Python迭代過濾函數