如何在intellij-scala中获取已声明的依赖项?如何在intellij-scala中获取依赖树?

moiiocjp  于 8个月前  发布在  Scala
关注(0)|答案(1)|浏览(85)

1

我不熟悉intellij-scala,我开发了一个intellij插件来分析sbt依赖,我想得到所有声明的依赖。
我找到了一个似乎可以获得的方法,但最终,我发现有很多场景是无法获得的。
https://github.com/JetBrains/intellij-scala/blob/ce4785e85496fe9d9d0c315b247ca75f0062188b/scala/integration/packagesearch/src/org/jetbrains/plugins/scala/packagesearch/SbtDependencyModifier.scala#L158
当我可以获得声明的依赖时,intellij插件就可以实现这个跳转函数menu
否则,我会得到这个:menu

我可以在intellij plugin中直接获取项目的所有依赖树/图吗?
似乎在Maven中,我可以直接获得所有依赖项?https://github.com/JetBrains/intellij-community/blob/fdcb966cf3a27dd9035b66076c5a5f36fded502c/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProject.java#L848
最后,我只能通过sbt-dependency-graph实现intellij plugin,得到依赖关系图。show my plugin
不幸的是,基于sbt-dependency-graph实现的插件必须依赖于dot/graphml文件。(控制台输出似乎更糟)。依赖sbt-dependency-tree意味着依赖sbt shell。但我的插件是intellij插件。我确实可以在intellij插件中调用sbt shell,但是启动sbt shell有点慢,用户必须添加addDependencyTreePlugin才能启用dependencyGraphMLdependencyGraphDot,这并不好,但我现在这样做了。
我还没有找到一个方法可以正确地获取声明的依赖,也没有找到一个intellij方法可以正确地获取依赖树。
我的插件在这里,它已经可以使用了,但它面临着上述两个问题。

https://github.com/bitlap/intellij-sbt-dependency-analyzer/tree/master

r6hnlfcb

r6hnlfcb1#

可以在项目中使用此命令打印依赖关系树。
mvn从属关系:树

相关问题