IntelliJ IDEA分析重復(fù)項(xiàng)

2018-10-17 14:26 更新

IntelliJ IDEA 分析重復(fù)項(xiàng)

注意:此功能僅在 Ultimate 版本中受支持。

IntelliJ IDEA 可以幫助您在一定范圍內(nèi)找到重復(fù)的代碼塊。此范圍可以是單個(gè)文件、項(xiàng)目、模塊或自定義范圍。分析結(jié)果顯示在 "重復(fù)" 工具窗口的 "專用" 選項(xiàng)卡中。

IntelliJ IDEA 搜索重復(fù)項(xiàng)

  1. 執(zhí)行以下操作之一:
    • 在主菜單上選擇 分析| 查找重復(fù)項(xiàng)(Analyze | Locate Duplicates)。
    • 在編輯器或項(xiàng)目工具窗口的上下文菜單中選擇分析|找到重復(fù)命令(Locate Duplicates)。
  2. 在 "指定代碼復(fù)制分析范圍" 對(duì)話框中,指定分析范圍(整個(gè)項(xiàng)目、當(dāng)前文件、未提交的文件(對(duì)于版本控制下的項(xiàng)目)或某些自定義范圍)。此外,您還可以將測(cè)試源包含在分析中。

    單擊“確定”,準(zhǔn)備就緒。

  3. 在“代碼復(fù)制分析設(shè)置”對(duì)話框中,請(qǐng)執(zhí)行以下操作:
    1. 選擇要在其中執(zhí)行分析的語言。
    2. 對(duì)于每種語言,請(qǐng)檢查選項(xiàng)以定義分析的首選項(xiàng)。

      例如,您可以選擇請(qǐng)求相同的代碼片段匹配被視為重復(fù)項(xiàng),或者指定一個(gè)特定的限制,以下的代碼結(jié)構(gòu)不被認(rèn)為是重復(fù)的(以避免報(bào)告if源代碼中的每個(gè)構(gòu)造)。

    單擊“確定”。
  4. 在“重復(fù)”工具窗口,瀏覽搜索結(jié)果。
    IntelliJ IDEA 搜索重復(fù)項(xiàng)
    • 在工具窗口的左窗格中查看重復(fù)項(xiàng)列表。
    • 查看右窗格中找到的重復(fù)項(xiàng)之間的差異。使用箭頭按鈕將所選副本放在差異查看器的其中一個(gè)部分,并比較代碼片段。
    • 導(dǎo)航到編輯器中的重復(fù)項(xiàng),使用“跳轉(zhuǎn)到源”或“顯示重復(fù)上下文”菜單的源命令。
    • 通過單擊 并在 "提取方法" 對(duì)話框中指定方法名稱和參數(shù)來消除源代碼中的重復(fù)項(xiàng)。這個(gè)程序類似于提取方法重構(gòu),唯一的區(qū)別是,在重復(fù)分析的情況下,重復(fù)的代碼塊被自動(dòng)找到。

IntelliJ IDEA 動(dòng)態(tài)檢測(cè)重復(fù)項(xiàng)

IntelliJ IDEA 可以動(dòng)態(tài)查找重復(fù)的內(nèi)容。這是由檢查 一般| 重復(fù)的代碼((General | Duplicated Code))。

如果您偶然發(fā)現(xiàn)一個(gè)現(xiàn)有的副本,或者通過編寫或粘貼代碼創(chuàng)建一個(gè)副本,您將立即知道:

IntelliJ IDEA 動(dòng)態(tài)檢測(cè)重復(fù)項(xiàng)

檢查伴隨著快速修復(fù),它使您能夠?qū)Ш降綑z測(cè)到的重復(fù)項(xiàng),或在 "查找工具" 窗口中查看所有這些副本:

IntelliJ IDEA 動(dòng)態(tài)檢測(cè)重復(fù)項(xiàng)

請(qǐng)注意,IntelliJ IDEA 有助于避免在生成的源中找到重復(fù)項(xiàng)。

為此,選中該復(fù)選框可忽略在 "檢查設(shè)置" 頁中標(biāo)記為 "生成的源" 中的重復(fù)代碼:

IntelliJ IDEA 動(dòng)態(tài)檢測(cè)重復(fù)項(xiàng)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)