Akka 支持
Akka 是一个用于构建高度并发、分布式及具有弹性的消息驱动应用程序的工具包,适用于 Scala。 IntelliJ IDEA 支持 最新稳定的 Akka 版本。
将 Akka 支持添加到项目中
将 Akka 支持添加到 IntelliJ IDEA 的最简单方法是使用 sbt 项目。
在编辑器中打开 build.sbt 文件。
请将以下代码添加到 build.sbt :
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.6.20"如果需要, 重新导入对 build.sbt 文件的更改。
在您完成 Akka 支持的设置后,您可以像处理其他项目一样进一步开发您的应用程序。
在编辑器中处理 Akka 代码
除了基本的代码补全、代码生成和代码导航支持,IntelliJ IDEA 还支持 Akka 检查、带有 Akka 上下文的查找用法,以及特定的 Akka 代码生成操作。
使用 Akka 代码检查
您可以在 编辑器 | 检查 设置页面  Ctrl+Alt+S 中查看可用的 Akka 检查及其描述列表。

在编辑器中,IntelliJ IDEA 显示检查可以起作用的建议提示,您可以查看以下带有建议更改的示例,这些更改可能会改进您的代码:
将动态调用替换为构造函数调用 :代码的一部分可以通过替换简化。

代码示例:
import akka.actor._ abstract class Foo extends AbstractActor object Foo { def props: Props = Props(classOf[Foo]) }import akka.actor._ abstract class Foo extends AbstractActor object Foo { def props: Props = Props(new Foo()) }替换为工厂方法调用 :动态构造函数调用可以安全地替换为工厂方法调用。

代码示例:
import akka.actor._ class Foo(foo: String, bar: Int) extends AbstractActor { override def createReceive(): AbstractActor.Receive = ??? } object Foo { def props(foo: String, bar: Int): Props = Props(new Foo(foo, bar)) } Props(classOf[Foo], "foo", 42)import akka.actor._ class Foo(foo: String, bar: Int) extends AbstractActor { override def createReceive(): AbstractActor.Receive = ??? } object Foo { def props(foo: String, bar: Int): Props = Props(new Foo(foo, bar)) } Foo.props("foo", 42)未找到适当的 actor 构造函数 :此检查将在调用带有不适当参数的构造函数的地方工作。

Akka 可变状态 :检查会检测 Actor 是否具有可变状态。
代码示例:
import scala.collection.mutable class MyActor extends Actor { val isInSet = mutable.Set.empty[String] def receive = { case Add(key) => isInSet += key case Contains(key) => sender() ! isInSet(key) } }import collection.immutable.Set class MyActor extends Actor { def receive = active(Set.empty) def active(isInSet: Set[String]): Receive = { case Add(key) => context become active(isInSet + key) case Contains(key) => sender() ! isInSet(key) } }
在 Akka 中使用意图
您可以在 编辑器 | 检查 设置页面  Ctrl+Alt+S 中查看可用的 Scala 和 Akka 意图操作列表。

在编辑器中,IntelliJ IDEA 显示
弹出窗口,以提供改进代码的建议。 请检查以下有关 Akka 的相关意图示例:
生成 actor 工厂方法 :IntelliJ IDEA 支持自动生成工厂方法。 在编辑器中,将文本光标放置在
Actor的 companion object 中,按 Alt+Insert 并选择意图。创建一个对应的工厂方法 :IntelliJ IDEA 支持自动生成相应的工厂方法。
IntelliJ IDEA 支持重构意图。 例如,当您提取变量 Ctrl+Alt+V 时,IntelliJ IDEA 会为内联重构建议名称和类型。