簡體   English   中英

IntelliJ 抑制 API 方法的未使用警告

[英]IntelliJ suppress unused warning for API methods

我最近從 Eclipse 切換到 IntelliJ IDEA,我真的很喜歡檢查員,發現他們用警告標記潛在錯誤對我來說非常有用。 我遇到了他們無法解決的問題:

我有一些 Java 項目在其他項目中用作 API,因此它包含未使用的方法,標記為:未使用警告

我如何為 API 方法抑制這種情況? 是否有@SuppressWarnings("unused")的替代方法,因為這也抑制了有關方法內未使用警告的警告,並且沒有讓讀者清楚該方法是為 API 使用而設計的,而不是在當前的項目?

@Sebastian 建議讓您的類實現接口可能是從良好設計的角度解決此問題的最佳方法。 但是當這不切實際時,還有一種替代方法......

“未使用聲明”檢查允許您將“入口點”(即公共外部 API)配置為忽略。 作為其中的一部分,您可以配置“注釋”。 任何用配置的注解進行注解的東西都被視為一個入口點。

未使用的聲明檢查設置

只需將檢查配置為使用您用來注釋公共 API 方法的注釋,或者來自庫的注釋——例如@API Guardian (由一些開源項目如 JUnit 5 使用)——或者您創建的。 使用庫當然會使項目之間的事情變得更容易和一致。 在下面的示例中,我使用了我創建的@PublicApi注釋。 請注意,該方法突出顯示為未使用。 但是foo String 仍然突出顯示為未使用,這就是您想要的:

帶注釋的代碼示例截圖

作為打開“設置”對話框並限制對編程流程的影響的替代方法,您還可以使用“快速修復意圖”將所需的注釋添加到“未使用的聲明”設置中。 使用所需的注釋進行注釋后,將光標放在突出顯示的未使用方法(或類)名稱上,然后通過Alt + Enter (或單擊燈泡圖標)調用“意圖操作和快速修復”彈出窗口快速修復圖標 ) 並選擇“抑制由‘ {annotation}注釋的方法:

快速修復截圖

為你的類編寫一個接口。 實現接口方法的方法不會標記為未使用。 相反,接口中未使用的方法被標記為未使用,但在這里您可以安全地使用@SuppressWarnings("unused")因為您沒有方法主體。 您甚至可以在整個界面上方編寫@SuppressWarnings("unused")

簡而言之,不,這與 IntelliJ 沒有任何關系,如果您要求,Java 編譯器 Javac 會生成這些。 如果您的方法需要此注釋,那么這將適用於整個方法。 但是,如果您只是希望對一個字段進行注釋,那么這是可能的:

@SuppressWarnings("unused")
int iii = 0;

總之,方法注釋將覆蓋整個方法,將其放置在每個字段或指令中將覆蓋該單行。

intellij 可以為您執行此操作。只需在出現警告時按 Alt+Enter。 一些建議會彈出其中之一是刪除字段。 建議的末尾會有一個箭頭字段。 使用箭頭鍵導航到該選項並使用向右箭頭調出另一個菜單。 選項之一是抑制 this for 方法並抑制 this for 語句等。抑制 for 語句將導致:

//noinspection unused
int iii = 0;

但是,我必須敦促您注意 Intellij 提供的警告,不要盲目壓制它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM