Intellij 中的 SBT 控制台



我是Scala的初学者。我找不到如何添加 SBT 控制台。 我有 sbt shell,但在 Scala 课程中,我看到它们两者都有:SBT Shell 和 SBT Console,并使用第二个。我试图在 sbt shell 中编写"控制台",然后在"运行"之后,但它说:

错误:未找到:值运行。 所以我只想以某种方式添加这个 SBT 控制台,不仅可以从 Intellij 中的按钮"运行"来运行我的程序。

那么SBT呢?真的需要吗?或者我可以不将其用于 Scala 吗?

您可能会对"Shell"和"Console"通常是同义词感到困惑,但它们实际上与sbt的含义不同。

SBT shell - 是,嗯,当您以交互模式运行它时 SBT 为您提供的外壳 - 即当您刚刚从终端运行sbt时。这使您可以访问其他令人兴奋的事情,例如运行应用程序(使用run命令(,检查构建(inspect ...(,运行测试(显然test(等等。

sbt 控制台 - 是一个交互式 REPL(读取-评估-执行-循环(,它为您提供 scala 作为解释器 - 即您可以输入(或粘贴(一些scala代码,它将立即编译和评估 - 输出结果。Sbt控制台也可以从 sbtshell获得 - 通过运行console.

因此,为了运行您的程序,您有两个选项(除了 IntelliJ "运行"对话框(:

  1. 从您的终端做sbt run
  2. 从你的终端做sbt,然后等待sbt初始化,然后在sbtshell中做run

有关运行 sbt 的不同方法的更多详细信息,请参阅 sbt 文档(剧透:还有"批处理"模式,您可以在其中从终端运行sbt run- 它与sbt完全相同,然后run(。

Sbt 参考手册也可能有所帮助 - 特别是它涵盖了sbt console命令。

那么SBT呢?真的需要吗?或者我可以不将其用于 Scala 吗?

这不是强制性的 - 您可以使用 maven 运行 scala,只是配置起来要复杂一些。但是,如果您允许一些个人意见,我建议您在scala项目(甚至Java项目(中使用sbt。原因很简单 - sbt 中的构建定义本质上只是 scala 代码 - 您可以在构建中使用任何语言功能、第三方库甚至自定义代码 - 这有时非常有用。与 maven 相比,我认为这是向前迈出的一大步,因为在 maven 中,您可以使用 mvn 工具及其插件定义的基于 XML 的"语言"来定义构建 - 这可定制性要低得多。

但是,gradle也有这个优势,因此请选择最适合您需求的工具。

最新更新