如何使用Netbeans显示项目中的所有Java编译器警告?

如何使用Netbeans显示项目中的所有Java编译器警告?,java,netbeans,Java,Netbeans,来自VisualStudio和Eclipse,如何找出所有编译器警告,例如整个项目中未使用的变量。这似乎是件小事,但却找不到。我可以在“操作项”窗口中找到所有错误,但不能找到所有警告 这似乎是不可能的。有一个打开的错误报告: 它是旧的,并且是最近才分配的(请参阅bug历史记录) 作为替代,您可以尝试使用源代码→ 检查。这与Java编译器警告不完全相同,但有一点帮助 例如,在下面的代码中,它捕获了未使用的导入和null变量的使用情况,但没有报告未使用的变量(尽管在NetBeans编辑器中对其进行了

来自VisualStudio和Eclipse,如何找出所有编译器警告,例如整个项目中未使用的变量。这似乎是件小事,但却找不到。我可以在“操作项”窗口中找到所有错误,但不能找到所有警告

这似乎是不可能的。有一个打开的错误报告:

它是旧的,并且是最近才分配的(请参阅bug历史记录)

作为替代,您可以尝试使用源代码→ 检查。这与Java编译器警告不完全相同,但有一点帮助

例如,在下面的代码中,它捕获了未使用的导入和null变量的使用情况,但没有报告未使用的变量(尽管在NetBeans编辑器中对其进行了正确的注释)


只需确保安装FindBugs插件即可充分利用它。“检查”对话框将警告插件丢失并为您安装。

老实说,这似乎是不可能的。“未使用的变量”甚至不是一级“提示”(您可以在“工具”>“选项”>“编辑器”>“提示”下看到提示……请注意,未使用的变量周围没有提示)

显然,在NetBeans中可以配置的“未使用变量”的唯一一件事就是如何在编辑器中设置它的样式。工具>选项>字体和颜色>语法>语言=Java>未使用的元素

即使它是一个提示(不是),似乎也不可能在“操作项”窗格中显示所有实际提示,即使您创建了一个勾选“基于提示的任务”框的自定义筛选器

看起来您最接近的选择是安装PMD插件,它可以列出整个项目中所有未使用的变量(以及其他问题)。工具>插件>可用插件>勾选PMD>安装。然后使用工具>运行PMD。您可以通过工具>选项>杂项>PMD来配置PMD的规则。根据我的经验,PMD不会自动刷新(它是按需刷新的),尽管有一个“启用扫描”选项,它似乎有时会导致自动刷新[对我来说永远不会]

其他用于代码检查的内置工具位于Source>Inspect下。NetBeans有许多内置的检查器(包括基于上述“提示”的检查器),以及一个非常容易实现与FindBugs集成的检查器,但是在Source>Inspect下,这些检查器都没有关于未使用变量的规则。Source>Inspect也是按需的,不会自动刷新


问题是如何在NetBeans中显示警告,我认为这是不可能的。但是,要获取所有警告消息,可以使用带有标志
-Xlint
的命令行编译程序

例如:

javac -Xlint programName.java

这将列出所有警告。

如果我打开“操作项”窗口并单击“筛选”按钮,我可以选择“编译器错误”作为选项之一。然后,我可以选择一个“上下文”,例如当前项、当前项目或打开的项目,这些项目显示了针对我的编译器警告。Java编译器没有此类警告。@a_horse_,如果没有正确的名称,则这些警告是NetBeans警告,而不是Java警告。这不是离题,因为这是一个关于感谢详细回答的问题
javac -Xlint programName.java