如何让scalac告诉我是否有未使用的变量?

如何让scalac告诉我是否有未使用的变量?,scala,lint,Scala,Lint,我刚刚注意到我的代码中有一个bug,我创建了一个新的变量,但是没有实际使用它 我假设scalac会告诉我我的新变量未使用,但事实似乎并非如此,在少量的Google/手册页之后,我找不到任何关于启用警告的信息 如何启用此类警告? 讨论的结果:这是IDE考虑的第二个任务(到目前为止,他们并没有,或者至少不是很详尽) 主要论点似乎是scala编译器已经被批评速度慢,因此在上面添加更多内容可能不是一个好主意。编译器现在可以警告您未使用的私有变量,因为。这在-Xlint下。请参阅相关文档中的讨论。如果对-

我刚刚注意到我的代码中有一个bug,我创建了一个新的变量,但是没有实际使用它

我假设scalac会告诉我我的新变量未使用,但事实似乎并非如此,在少量的Google/手册页之后,我找不到任何关于启用警告的信息

如何启用此类警告?

讨论的结果:这是IDE考虑的第二个任务(到目前为止,他们并没有,或者至少不是很详尽)


主要论点似乎是scala编译器已经被批评速度慢,因此在上面添加更多内容可能不是一个好主意。

编译器现在可以警告您未使用的私有变量,因为。这在
-Xlint
下。请参阅相关文档中的讨论。如果对
-Xlint
的提及不熟悉,答案在
scalac
手册页中。

从scalac 2.12开始,您现在可以使用
-Ywarn unused:locals
。如果你的意思不仅仅是局部变量,还有其他选择:

$ scalac -Ywarn-unused:help
Enable or disable specific `unused' warnings
  imports    Warn if an import selector is not referenced.
  patvars    Warn if a variable bound in a pattern is unused.
  privates   Warn if a private member is unused.
  locals     Warn if a local definition is unused.
  explicits  Warn if an explicit parameter is unused.
  implicits  Warn if an implicit parameter is unused.
  params     Enable -Ywarn-unused:explicits,implicits.
  linted     -Xlint:unused.
Default: All choices are enabled by default.

这是一个相当令人不满意的结果。谢谢