18

Intellij 错误地将 Scala 隐式的某些导入标记为未使用。有没有办法防止它在针对特定导入显式优化它们时删除这些导入,而不是阻止整个项目的优化导入?

4

3 回答 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 回答