Intellij 错误地将 Scala 隐式的某些导入标记为未使用。有没有办法防止它在针对特定导入显式优化它们时删除这些导入,而不是阻止整个项目的优化导入?
问问题
4049 次
3 回答
14
IntelliJ 的 Scala 插件现在允许您在项目范围内抑制此错误警告。这可能并不适用于所有情况,但它可以提供帮助。单击灯泡,然后选择“将导入标记为此项目中始终使用”
或者,您可以将其直接添加到您的代码样式 xml:
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<ScalaCodeStyleSettings>
<option name="alwaysUsedImports">
<array>
<option value="models.slickless.synchronized" />
<option value="another.import.path" />
</array>
</option>
</ScalaCodeStyleSettings>
</code_scheme>
</component>
IntelliJ 通常将该文件存储在.idea/codeStyles/Project.xml
. 将其提交到您的存储库以便共享它可能是一个好主意。
于 2018-11-28T23:41:52.293 回答
11
恐怕没有,我有类似的问题,特别是在某些情况下使用akka
和导入隐式执行上下文时。ActorSystem
我建议定义值而不是导入。一个这样的例子是:
// Avoid importing the execution context like this
class MyActor extends Actor {
import context.system.dispatcher
}
// Define it explicitly instead
class MyActor extends Actor {
implicit val ec = context.system.dispatcher
}
我希望这可以帮助你。
于 2017-04-03T09:03:23.873 回答
3
不幸的是,没有修复程序,问题似乎源于编译器本身。
请参阅https://youtrack.jetbrains.com/issue/SCL-7335导致https://issues.scala-lang.org/browse/SI-8773(2014年报告但尚未修复)。
于 2017-08-10T06:54:15.227 回答