<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          真香!用 IDEA 神器看源碼,效率真高!

          共 3130字,需瀏覽 7分鐘

           ·

          2021-05-29 09:58

          項目有個新來了一個小伙伴,他看我查看項目源代碼的時候,各種騷操作“花里胡哨”的。于是他向我請教,想讓我分享一下我平時使用 IDEA 看源碼的小技巧。

          基本操作

          這一部分的內容主要是一些我平時看源碼的時候常用的快捷鍵/小技巧!非常好用!

          掌握這些快捷鍵/小技巧,看源碼的效率提升一個等級!

          查看當前類的層次結構

          使用頻率相關快捷鍵
          ?????Ctrl + H

          平時,我們閱讀源碼的時候,經(jīng)常需要查看類的層次結構。就比如我們遇到抽象類或者接口的時候,經(jīng)常需要查看其被哪些類實現(xiàn)。

          拿 Spring 源碼為例,BeanDefinition 是一個關于 Bean 屬性/定義的接口。

          public interface BeanDefinition extends AttributeAccessorBeanMetadataElement {
            ......
          }

          如果我們需要查看 BeanDefinition 被哪些類實現(xiàn)的話,只需要把鼠標移動到 BeanDefinition 類名上,然后使用快捷鍵 Ctrl + H 即可。

          同理,如果你想查看接口 BeanDefinition 繼承的接口 AttributeAccessor 被哪些類實現(xiàn)的話,只需要把鼠標移動到 AttributeAccessor 類名上,然后使用快捷鍵 Ctrl + H 即可。

          查看類結構

          使用頻率相關快捷鍵
          ????Alt + 7(Win) / Command +7 (Mac)

          類結構可以讓我們快速了解到當前類的方法、變量/常量,非常使用!

          我們在對應的類的任意位置使用快捷鍵 Alt + 7(Win) / Command +7 (Mac)即可。

          快速檢索類

          使用頻率相關快捷鍵
          ?????Ctrl + N (Win) / Command + O (Mac)

          使用快捷鍵 Ctrl + N (Win) / Command + O (Mac)可以快速檢索類/文件。

          關鍵字檢索

          使用頻率相關快捷鍵
          ?????見下文
          • 當前文件下檢索 :Ctrl + F (Win) / Command + F (Mac)
          • 全局的文本檢索 : Ctrl + Shift + F (Win) / Command + Shift + F (Mac)

          查看方法/類的實現(xiàn)類

          使用頻率相關快捷鍵
          ????Ctrl + Alt + B (Win) / Command + Alt + B (Mac)

          如果我們想直接跳轉到某個方法/類的實現(xiàn)類,直接在方法名或者類名上使用快捷鍵 Ctrl + Alt + B/鼠標左鍵 (Win) / Command + Alt + B/鼠標左鍵 (Mac) 即可。

          如果對應的方法/類只有一個實現(xiàn)類的話,會直接跳轉到對應的實現(xiàn)類。

          比如 BeanDefinition 接口的 getBeanClassName() 方法只被 AbstractBeanDefinition 抽象類實現(xiàn),我們對這個方法使用快捷鍵就可以直接跳轉到 AbstractBeanDefinition 抽象類中對應的實現(xiàn)方法。

          public interface BeanDefinition extends AttributeAccessorBeanMetadataElement {
            @Nullable
           String getBeanClassName();
            ......
          }

          如果對應的方法/類有多個實現(xiàn)類的話,IDEA 會彈出一個選擇框讓你選擇。

          比如 BeanDefinition 接口的 getParentName() 方法就有多個不同的實現(xiàn)。

          查看方法被使用的情況

          使用頻率相關快捷鍵
          ????Alt + F7

          我們可以通過直接在方法名上使用快捷鍵 Alt + F7 來查看這個方法在哪些地方被調用過。

          查看最近使用的文件

          使用頻率相關快捷鍵
          ?????Ctrl + E(Win) / Command +E (Mac)

          你可以通過快捷鍵 Ctrl + E(Win) / Command +E (Mac)來顯示 IDEA 最近使用的一些文件。

          查看圖表形式的類繼承鏈

          使用頻率相關快捷鍵
          ????相關快捷鍵較多,不建議記

          點擊類名 右鍵 ,選擇 Shw Diagrams 即可查看圖表形式的類繼承鏈。

          你還可以對圖表進行一些操作。比如,你可以點擊圖表中具體的類 右鍵,然后選擇顯示它的實現(xiàn)類或者父類。

          再比如你還可以選擇是否顯示類中的屬性、方法、內部類等等信息。

          如果你想跳轉到對應類的源碼的話,直接點擊圖表中具體的類 右鍵 ,然后選擇 Jump to Source 。

          插件推薦

          一鍵生成方法的序列圖

          序列圖(Sequence Diagram),亦稱為循序圖,是一種 UML 行為圖。表示系統(tǒng)執(zhí)行某個方法/操作(如登錄操作)時,對象之間的順序調用關系。

          這個順序調用關系可以這樣理解:你需要執(zhí)行系統(tǒng)中某個對象 a 提供的方法/操作 login(登錄),但是這個對象又依賴了對象 b 提供的方法 getUser(獲取用戶)。因此,這里就有了 a -> b 調用關系之說。

          我們可以通過 SequenceDiagram 這個插件一鍵生成方法的序列圖。

          如果你因為網(wǎng)絡問題沒辦法使用 IDEA 自帶的插件市場的話,也可以通過 IDEA 插件市場的官網(wǎng)手動下載安裝。

          如何使用呢?

          1、選中方法名(注意不要選類名),然后點擊鼠標右鍵,選擇 Sequence Diagram 選項即可!

          2、配置生成的序列圖的一些基本的參數(shù)比如調用深度之后,我們點擊 ok 即可!

          3、你還可以通過生成的時序圖來定位到相關的代碼,這對于我們閱讀源碼的時候尤其有幫助!

          4、時序圖生成完成之后,你還可以選擇將其導出為圖片。

          相關閱讀:《安利一個 IDEA 騷操作:一鍵生成方法的序列圖》

          項目代碼統(tǒng)計

          為了快速分析項目情況,我們可以對項目的 代碼的總行數(shù)、單個文件的代碼行數(shù)、注釋行數(shù)等信息進行統(tǒng)計。

          Statistic 這個插件來幫助我們實現(xiàn)這一需求。

          有了這個插件之后你可以非常直觀地看到你的項目中所有類型的文件的信息比如數(shù)量、大小等等,可以幫助你更好地了解你們的項目。

          你還可以使用它看所有類的總行數(shù)、有效代碼行數(shù)、注釋行數(shù)、以及有效代碼比重等等這些東西。

          如果,你擔心插件過多影響 IDEA 速度的話,可以只在有代碼統(tǒng)計需求的時候開啟這個插件,其他時間禁用它就完事了!

          相關閱讀:快速識別爛項目!試試這款項目代碼統(tǒng)計 IDEA 插件

          < END >

          推薦?? :1049天,100K!簡單復盤!

          推薦?? :年薪 40W Java 開發(fā)是什么水平?

          推薦?? :Github掘金計劃:Github上的一些優(yōu)質項目搜羅

          我是 Guide哥,擁抱開源,喜歡烹飪。Github 接近 10w 點贊的開源項目 JavaGuide 的作者。未來幾年,希望持續(xù)完善 JavaGuide,爭取能夠幫助更多學習 Java 的小伙伴!共勉!凎!點擊查看我的2020年工作匯報!
          歡迎準備面試的朋友加入我的星球
          ,
          一個純 Java 面試交流圈子 !Ready!
          。
          原創(chuàng)不易,歡迎點贊分享。咱們下期再會!
          瀏覽 64
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人精品喷水视频wwww | JiZZ成熟丰满日本少妇 | 乳交打奶炮泄精合集 | 国产99九九久久无码精品 | 成人啪啪视频在线 |