IDEA 中的 SBT 源代码

23

我正在使用位于project文件夹中的*.scala文件配置我的SBT项目。我使用带有Scala插件的IDEA12并使用sbt-idea生成项目。在SBT shell中调用gen-idea之后,一切都正常,除了一件事。当我点击项目代码中某个方法上的转到声明时,IDEA会显示如何实现它(重定向到库源代码)。但是当我尝试"检查" SBT内部源代码时,它会显示类似以下内容:

def settings: Seq[Setting[_]] = { /** compiled code **/ }

我该如何将SBT源代码附加到我的IDEA项目中?

我正在使用SBT 0.12.3

2个回答

42

在SBT中,有两个可能会让你感兴趣的命令:

update-classifiers - 将下载项目中所有库的源码和文档。
update-sbt-classifiers - 下载sbt源代码和文档。

这将下载你需要的所有源码。要使用它们创建一个IDEA项目,只需调用gen-idea sbt-classifiers

如果你不想每次都调用这些命令来重新生成项目,你应该将类似下面的内容添加到你的build.sbt文件中:addCommandAlias("make-idea", ";update-classifiers; update-sbt-classifiers; gen-idea sbt-classifiers")


gen-idea sbt-classifiers - OlegYch
1
它也适用于Play!项目。在Play控制台中输入相同的命令:update-sbt-classifiers,然后gen-idea sbt-classifiers。 - Espinosa
2
你少了第一个分号 addCommandAlias("make-idea", ";update-classifiers; update-sbt-classifiers; gen-idea sbt-classifiers") - HEX
当我执行该操作时,出现[error] Not a valid command: sbt-classifiers错误,请帮忙解决。 - samthebest
6
你需要将sbt-idea添加到你的插件中, @samthebest: addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0") - Cpt. Senkfuss
这里的所有答案都不适用于sbt 1.x或2022.2 IntellilJ - 它仍然无法找到SBT源代码。 - Nikita

4
从 sbt 版本 1.2.8 开始,命令已更改为:
sbt updateClassifiers - 下载所有源代码和文档
sbt updateSbtClassifiers - 下载 sbt 源代码和文档。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接