7

我正在关注 akka-in-action 教程,在第 2 章中,有一个类(https://github.com/RayRoestenburg/akka-in-action/blob/master/chapter2/src/main/scala/com/ goticks/RestInterface.scala ):

trait RestApi extends HttpService with ActorLogging { actor: Actor =>
  import context.dispatcher
  import com.goticks.TicketProtocol._
  ...

从未使用import context.dispatcher过,但它是用注释定义的:

  /**
   * Returns the dispatcher (MessageDispatcher) that is used for this Actor.
   * Importing this member will place an implicit ExecutionContext in scope.
   */
  implicit def dispatcher: ExecutionContextExecutor

但是,IntelliJ 不断将导入标记为“未使用”并在“优化导入”时将其删除,从而导致错误value pipeTo is not a member of scala.concurrent.Future[Any]

有没有办法告诉 IntelliJ 这个导入不是为了“使用”,而只是为了提供一个上下文?

还是应该更新教程以不使用这种“未使用的导入”?

4

2 回答 2

14

这对我来说看起来像问题SCL-9326。IntelliJ 15 对此有一个很好的解决方案:按 alt-enter(在 Mac 上)并选择“将此导入标记为此项目中始终使用”。

于 2016-01-04T15:30:23.837 回答
2

转到设置-编辑器-常规-自动导入并将包添加到“从导入和完成中排除”列表 在此处输入图像描述

您还可以禁用“动态优化导入”,这样它就不会在没有您明确请求的情况下删除您的导入

于 2015-01-19T15:29:49.980 回答