W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
IntelliJ IDEA 通過對代碼進行檢查來執(zhí)行代碼分析。對于 Java 和其他支持的語言,存在大量的代碼檢查。
IntelliJ IDEA 具有強大、快速和靈活的靜態(tài)代碼分析功能。它能檢測編譯器和運行時錯誤,建議在編譯之前進行更正和改進。
IntelliJ IDEA 代碼檢查不僅檢測到編譯錯誤,而且還發(fā)現(xiàn)不同的代碼效率低下。每當你遇到一些無法訪問的代碼、未使用的代碼、非本地化的字符串、未解決的方法、內(nèi)存泄漏甚至拼寫問題 - 你就會發(fā)現(xiàn)代碼檢查很有用。
IntelliJ IDEA 代碼分析是可靈活配置的。您可以啟用/禁用每個代碼檢查和改變其嚴重性,使用自定義的檢查集創(chuàng)建配置文件,在不同的范圍應用檢查, 禁止檢查特定的代碼段等等。
可以通過以下幾種方法進行分析:
對于大多數(shù)檢測到的代碼問題,IntelliJ IDEA 提供快速修復建議。您可以通過按 F2 Shift+F2,快速查看文件中的錯誤,從一個突出顯示的行導航到另一個。
有關(guān)更多信息和程序說明,??請參閱配置檢查嚴重性。
當您檢查您的代碼時,您可以告訴 IntelliJ IDEA 要搜索哪些類型的問題并獲取報告。這樣的配置可以保留為檢查配置文件。
檢查配置文件定義了要查找的問題的類型,即哪些代碼檢查啟用/禁用的以及這些檢查的嚴重性。配置文件可在 "檢查設置" 頁中配置。
要設置當前檢查配置文件(在編輯器中用于動態(tài)代碼分析的配置文件),只需在“檢查設置”頁面中選擇它并應用更改。當你執(zhí)行代碼分析或執(zhí)行單次檢查時,您可以指定每次運行使用哪個配置文件。
檢查配置文件可用于整個 IDE 或特定項目:
IntelliJ IDEA 附帶以下預定義的檢查配置文件:
您可以根據(jù)需要擁有盡可能多的檢查配置文件。創(chuàng)建新配置文件有兩種方法:您可以添加一個新的配置文件作為項目默認配置文件的副本,或復制當前選擇的配置文件。新創(chuàng)建的配置文件存儲在 XML 文件中,其位置取決于基本配置文件的類型。
只要完成并應用了對配置文件的某些更改,就會出現(xiàn)表示檢查配置文件的 <profile_name>. xml 文件。這些文件僅存儲與默認配置文件的差異。
如果是基于文件的項目格式,則共享配置文件將存儲在項目文件 <project name>.ipr 中。
有關(guān)詳細信息,請參閱自定義配置文件一節(jié)。
如果檢查配置文件是特定于項目的,則會自動與您的項目同步。每個用戶在檢查完后打開此項目時,將啟用相同的檢查配置文件。
如果使用 IDE 默認檢查配置文件,則可以通過設置 Repository 插件在多臺計算機之間進行同步 ,并與 IntelliJ IDEA 捆綁在一起。這樣做,文件存儲在 USER_HOME/.<IntelliJ IDEA version>/config/inspection/<profile_name>.xml。
請注意,全局配置文件可能具有不同的名稱。將您當前的項目配置文件復制到全局級別(單擊 "管理" 按鈕并選擇 "復制為全局"),并按您的需要調(diào)用它。
然后,在主菜單上選擇:文件|其他設置| 默認設置, 并選擇此全局配置文件作為所有新項目的默認設置?,F(xiàn)在,所有新創(chuàng)建的項目將默認使用此全局配置文件,并且此全局配置文件將通過設置 Repository 插件在不同的計算機之間進行同步。
檢查嚴重性表示檢查檢測到的代碼問題對項目的影響程度如何,并確定在編輯器中如何突出顯示檢測到的問題。默認情況下,每個檢查都具有以下嚴重性級別之一:
您可以增加或減少每次檢查的嚴重性級別。也就是說,您可以強制 IntelliJ IDEA 將某些警告顯示為錯誤或弱警告。類似的方式,最初被認為是一個弱警告可以顯示為警告或錯誤,或只是作為信息。
您還可以配置用于突出顯示每個嚴重性級別的顏色和字體樣式。此外,您可以創(chuàng)建自定義嚴重性級別并將其設置為特定檢查。
如有必要,您可以在不同范圍內(nèi)為同一檢查設置不同的嚴重性級別。
所有對上述檢查的修改都保存在當前在檢查設置中選定的檢查配置文件中,并在使用此配置文件時應用。
默認情況下,所有啟用的代碼檢查都適用于所有項目文件。如有必要,您可以針對不同的作用域分別配置每個代碼檢查(啟用/禁用、更改其嚴重性級別和選項)。這樣的配置,與任何其他檢查設置一樣,將作為特定配置文件的一部分保存和應用。
當檢查具有與不同范圍相關(guān)聯(lián)的不同配置時,可能會出現(xiàn)復雜的情況。當此類檢查在屬于部分或全部這些作用域的文件中執(zhí)行時,將應用最高優(yōu)先級范圍特定配置的設置。優(yōu)先級由檢查的范圍特定配置在檢查設置中的相對位置定義:最高配置具有最高優(yōu)先級。所有其他配置始終具有最低優(yōu)先級。
有關(guān)更多信息和程序說明,??請參閱配置不同范圍的檢查。
在“檢查頁面”中,所有檢查都分為幾類。代碼分析涵蓋的最常見任務包括:
IntelliJ IDEA 分析您正在鍵入的代碼,并且能夠?qū)崟r發(fā)現(xiàn)可能的錯誤作為非編譯錯誤。以下是這種情況的例子。
例如,潛在的 NPE 可以在運行時拋出:
查找錯誤之前 | 查找錯誤之后 |
---|---|
![]() NullPointer 異常,如果不是所有的情況都被覆蓋。此時添加一個斷言(assertion
)以避免在應用程序運行時拋出NullPointer 將是一個好主意。
|
![]() |
IntelliJ IDEA 在編輯中突出顯示所謂的死碼(dead code),這是在應用程序運行期間從不執(zhí)行的代碼。也許,你甚至不需要你的項目的這部分代碼。根據(jù)情況,此類代碼可能會被視為錯誤或冗余。無論如何,它降低了應用程序的性能并使維護過程復雜化。以下是一個例子。
所謂的恒定條件,例如,從未見過或永遠是真實的情況。在這種情況下,負責的代碼是不可訪問的,實際上是一個死代碼。
IntelliJ IDEA 突出顯示 if 條件,因為它始終是真實的。所以包含 else 的代碼實際上是一個死代碼,因為它永遠不會被執(zhí)行。
IntelliJ IDEA 還能夠立即突出顯示 Java 類、方法和字段,這些都是通過未使用的聲明檢查在整個項目中未使用的。在未使用的聲明檢查中配置的各種 Java EE @Inject 注釋、測試代碼入口點和其他隱式依賴項都受到了很深的尊重。
此檢查檢測對未定義的 JavaScript 函數(shù)或方法的引用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: