在intellij中处理错误的未使用导入的最佳方法

Net*_*itz 10 import scala intellij-idea scala-implicits

Intellij错误地标记了一些Scala implicits导入为不使用.有没有办法阻止它在为特定导入明确优化它们时删除那些导入,而不是阻止整个项目的优化导入?

Cor*_*ein 12

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>
Run Code Online (Sandbox Code Playgroud)

IntelliJ 通常将该文件存储在.idea/codeStyles/Project.xml. 将其提交到您的存储库以便共享可能是个好主意。


And*_* T. 7

我担心没有,我有类似的问题,特别是在某些情况下使用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
}
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助你.

  • 我正在寻找一些更优雅的东西,比如只是压制警告,这个解决方案可能很难看,如果你有多个意图导入:)但这将完成工作.. thx! (2认同)