scala - 如何在 SBT 控制台中禁用警告
问题描述
我是 SBT 新手,我喜欢在 SBT 控制台中调试 scala 源代码。但是控制台总是像<console>:65: warning: Unused import
每个命令行一样重复警告。真烦人。
如何在 SBT 控制台中禁用此无用的警告,同时将此检查保留在 sbt compile 中?
我想我应该添加类似的build.sbt
东西scalacOptions in console := ???
,但不确定它应该是什么。
[更新]
sbt 的教程我没有看完,所以我build.sbt
从一些示例项目中复制过来。我加了scalacOptions in (Compile, console) ...
,还是不行。
scalacOptions in Compile ++= Seq("-deprecation", "-feature", "-unchecked", "-Xlog-reflective-calls", "-Xlint"),
scalacOptions in (Compile, console) ~= { _.filterNot(Set("-Ywarn-unused-import", "-Ywarn-unused:imports")) },
javacOptions in Compile ++= Seq("-Xlint:unchecked", "-Xlint:deprecation"),
javaOptions in run ++= Seq("-Xms256m", "-Xmx2048m", "-Djava.library.path=./target/native"),
libraryDependencies ++= Seq(
解决方案
build.sbt
对于像这样的常见问题,您可以尝试从开源项目中检出文件,看看它们是如何处理的。
scalacOptions in (Compile, console) ~= { _.filterNot(Set("-Ywarn-unused-import", "-Ywarn-unused:imports")) }
这是摘录自cats
。关联
更新:
我上面粘贴的代码是关于在运行命令 ( src/main
)时过滤掉 () 下代码中的特定 scalac 标志。Compile
console
console
有一些选项会从 scalac 生成未使用的导入警告。该cats
库正在使用特定于未使用的导入警告 ( -Ywarn-unused-import
, -Ywarn-unused:imports
) 的选项,因此,它只是过滤掉了那些。
在您的情况下,生成警告的标志是-Xlint
,它也会生成许多其他类型的警告。您可以删除Set
和 add中的标志-Xlint
,它将停止生成未使用的导入警告。但是,它也将停止生成其他警告。(不过应该没什么大不了的,因为它只是repl。)
推荐阅读
- python - 是否有另一种方法来关闭标准输入文件描述符(当前使用 <&- 和 shell=True)?
- matplotlib - matplotlib:具有超过 4 个 twinx 轴的紧密布局具有额外的填充
- html - 如何在具有指定行高的css网格布局中隐藏列的溢出部分?
- bash - 在子文件夹中查找具有特定文件命名的 mp4 文件,并使用 ffmpeg 每秒从中提取帧
- node.js - User.findOne() 函数未从调用数据库返回
- java - 如何根据 RecyclerView 中单击的项目在新 Activity 中打开特定的 Fragment
- amazon-web-services - 如何计算短期文件的 S3 定价?
- c# - 从 C# 在 PHP 中解码 GZIP 流
- python - 如何抓取多个网址?
- python-3.x - 异常结束时如何返回尝试脚本