Akka支持
最后修改时间:2023 年 6 月 26 日Akka是一个工具包,用于为 Scala 构建高度并发、分布式和弹性的消息驱动应用程序。IntelliJ IDEA 支持最新的稳定 Akka 版本。
将 Akka 支持添加到项目中
将 Akka 支持添加到 IntelliJ IDEA 的最简单方法是使用sbt项目。
在 IntelliJ IDEA 中创建或打开sbt 项目。
在编辑器中打开build.sbt文件。
将以下代码添加到build.sbt:
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.8"
如果需要,请重新导入对build.sbt文件所做的更改。
完成 Akka 支持的设置后,您可以像处理任何其他项目一样进一步开发您的应用程序。
在编辑器中使用 Akka 代码
除了基本的代码完成、代码生成和代码导航支持之外,IntelliJ IDEA 还支持 Akka 检查、查找 Akka 上下文的用法以及 Akka 的特定代码生成操作。
使用 Akka 代码检查
您可以在编辑器 |中查看可用 Akka 检查的列表及其描述。检查IDE 设置页面 。CtrlAlt0S
在编辑器中,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._ abstract class Foo(foo: String, bar: Int) extends AbstractActor object Foo { def props(foo: String, bar: Int): Props = { Props(new Foo(foo)) } } Props(classOf[Foo], "foo", 42)
import akka.actor._ abstract class Foo(foo: String, bar: Int) extends AbstractActor object Foo { def props(foo: String, bar: Int): Props = { Props(new Foo(foo)) } } 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 中使用意图
您可以在编辑器中查看 Scala 和 Akka 的可用意图操作列表| 检查IDE 设置页面 。CtrlAlt0S
在编辑器中,IntelliJ IDEA 会显示弹出窗口,其中包含改进代码的建议。检查以下 Akka 相关意图的示例:
生成actor工厂方法:IntelliJ IDEA支持自动生成工厂方法。在编辑器中,将插入符号放在 的伴随对象内
Actor
,按下并选择意图。AltInsert创建对应的工厂方法:IntelliJ IDEA 支持自动生成对应的工厂方法。
IntelliJ IDEA 支持重构意图。例如,当您提取变量时,IntelliJ IDEA 将建议内联重构的名称和类型。CtrlAlt0V
查找 Akka 中的用法
当您搜索用法时,IntelliJ IDEA 可以Message
根据上下文对类的用法进行分类。IntelliJ IDEA 根据消息的位置将上下文显示为节点。例如,接收者位置、询问位置或发送位置。
在编辑器中,选择您要查找其用法的消息类别。
右键单击该元素,然后从上下文菜单中选择“查找用法” 。AltF7
在“查找”工具窗口中检查结果。
感谢您的反馈意见!