2013-11-04 81 views
5

來自Visual Studio和Eclipse,如何找出所有編譯器警告,例如整個項目的未使用變量。這似乎是一件小事,但無法找到它。我可以在「操作項目」窗口中找到所有錯誤,但不是所有警告。如何使用Netbeans在項目中顯示所有Java編譯器警告?

+0

如果我打開「Action Items」窗口並單擊「Filter」按鈕,我可以選擇「Compiler Errors」作爲其中一個選項。然後,我可以選擇一個「上下文」,例如當前項目,當前項目或打開的項目,它們會顯示編譯器警告 – MadProgrammer

+1

Java編譯器沒有這樣的警告。 –

+2

@a_horse_with_no_name對,這些警告是NetBeans警告,而不是Java警告 – BackSlash

回答

4

這似乎不可能。有一個開放的錯誤報告:https://netbeans.org/bugzilla/show_bug.cgi?id=135014

這是舊的,剛剛分配(見bug歷史)。

作爲替代方案,您可以嘗試Source →檢查。它與Java編譯器警告不完全相同,但有所幫助。

例如,在下面的代碼中,它捕獲了未使用的導入和null變量的用法,但沒有報告未使用的變量(但在NetBeans編輯器中它已被正確註釋)。

import java.io.InputStreamReader; // Reported unused import 

public class TestJava { 
    public static void main(String[] args) { 

     String input = null; 
     String unused; // DID NOT report unused variable 

     System.out.println("Input "+ input); // Reported usage of null 
    } 
} 

只要確保安裝了FindBugs插件即可充分利用它。 檢查對話框將警告該插件丟失併爲您安裝。

2

老實說,它似乎不可能。 「未使用變量」甚至不是一流的「提示」(您可以在工具>選項>編輯器>提示下看到提示,並注意到沒有基於未使用變量的提示)。

顯然,您可以在NetBeans中配置的「未使用的變量」的唯一方法是在編輯器中對其進行樣式設置。工具>選項>字體和顏色>語法> Language = Java>未使用的元素。

即使它是一個提示(它不是),即使您創建了一個自定義過濾器,可以在「Action Items」窗格中顯示所有實際提示,任務「框。

看起來您最接近的選擇是安裝PMD插件,該插件可以列出項目中所有未使用的變量(以及其他問題)。工具>插件>可用插件> tick PMD>安裝。然後使用工具>運行PMD。您可以通過工具>選項>雜項> PMD配置PMD的規則。 PMD不按照我的經驗(按需)自動刷新,雖然有一個「啓用掃描」選項,似乎它應該會導致自動刷新,有時候[永遠不會]。

其他用於代碼檢查的內置工具存在於Source> Inspect下。 NetBeans有許多內置的檢查器(包括基於前面提到的「提示」的檢查器),以及與FindBugs很容易集成的,但這些檢查器在Source> Inspect下都沒有關於Unused Variables的規則。來源> Inspect也是按需提供的,似乎不會自動刷新。

enter image description here

+0

感謝您的詳細解答 – iraSenthil

0

的問題是如何顯示在NetBeans我不相信這是可能的警告。但是,要獲取所有警告消息,您可以使用標記爲-Xlint的命令行編譯該程序。

例子:

javac -Xlint programName.java 

這將列出所有的警告。

相關問題