假设我在 Ammonite 脚本中这样做:
import ammonite.ops._
但我在 IDEA 中没有自动完成功能,因为它不知道我正在使用以下依赖项:
"com.lihaoyi" %% "ammonite-ops" % "0.7.7"
当我使用以下语法导入一些常春藤模块时,也可以这样说:
import $ivy.`com.google.guava:guava:18.0`
让 IDEA 知道我正在使用哪些依赖项的最佳方法是什么?
参考:
假设我在 Ammonite 脚本中这样做:
import ammonite.ops._
但我在 IDEA 中没有自动完成功能,因为它不知道我正在使用以下依赖项:
"com.lihaoyi" %% "ammonite-ops" % "0.7.7"
当我使用以下语法导入一些常春藤模块时,也可以这样说:
import $ivy.`com.google.guava:guava:18.0`
让 IDEA 知道我正在使用哪些依赖项的最佳方法是什么?
参考:
一种解决方案是创建一个包含脚本的模块。
我通过在 SBT 中定义一个项目并添加必要的依赖项来创建一个新模块:
projectDependencies ++= Seq(
"com.lihaoyi" %% "ammonite-ops" % "0.7.7"
)
然后我必须将 SBT 项目重新导入 IDEA。这个过程有点慢,但是瞧,我可以在我的脚本中自动完成。
我还在 IDEA 中为 Ammonite 的一级支持创建了一个问题。 https://youtrack.jetbrains.com/issue/SCL-10752