在 Scala 中将 tpolecat 推荐的 scalac 标志与 Play 一起使用

Using tpolecat's recommended scalac flags with Play in Scala

Play 从路由文件、twirl 模板生成 scala 类。当我添加 scalac linting 标志时,sbt 会选择生成的 类 使其无法与 play 一起使用。

我真的很想使用 https://github.com/DavidGregory084/sbt-tpolecat 所有这些不错的 linting 规则来提高代码质量,但我不确定如何排除生成的 scalac 标志文件。

我在使用 sbt-tpolecat 插件时遇到 "Unused import" 的编译器警告 Framework/Twirl 模板的 @(...

我通过将 sbt-tpolecat 插件与 Silencerhttps://github.com/ghik/silencer.

组合解决了这个问题

我将 sbt-tpolecat 添加到 /project/plugins.sbt

addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.1.9")

我在 build.sbt

中添加了 Silencer
val silencerVersion = "1.4.4"
libraryDependencies ++= Seq(
  compilerPlugin("com.github.ghik" % "silencer-plugin" % silencerVersion cross CrossVersion.full),
  "com.github.ghik" % "silencer-lib" % silencerVersion % Provided cross CrossVersion.full
)

然后重要的是我过滤掉了 build.sbt 中的 views 包:

scalacOptions += "-P:silencer:pathFilters=views"