Scala Intellij中的SBT控制台

Scala Intellij中的SBT控制台,scala,intellij-idea,Scala,Intellij Idea,我是Scala的初学者。我找不到如何添加SBT控制台。 我有SBTShell,但在Scala课程中,我看到它们都有:SBTShell和SBTConsole,并使用第二个。我试图在sbt shell中编写“console”,在“run”之后,它说: 错误:未找到:值运行。 所以我只想添加这个SBT控制台,不仅从Intellij中的“run”按钮运行我的程序 那么SBT呢?真的需要吗?或者我可以不在Scala中使用它吗?您可能会被“Shell”和“Console”这两个同义词弄糊涂,但它们实际上与s

我是Scala的初学者。我找不到如何添加SBT控制台。 我有SBTShell,但在Scala课程中,我看到它们都有:SBTShell和SBTConsole,并使用第二个。我试图在sbt shell中编写“console”,在“run”之后,它说:

错误:未找到:值运行。 所以我只想添加这个SBT控制台,不仅从Intellij中的“run”按钮运行我的程序


那么SBT呢?真的需要吗?或者我可以不在Scala中使用它吗?

您可能会被“Shell”和“Console”这两个同义词弄糊涂,但它们实际上与sbt的含义不同

sbt外壳-是sbt在交互模式下运行时提供给您的外壳-即,当您从终端运行
sbt
时。这使您可以访问其他令人兴奋的内容,例如运行应用程序(使用
run
命令)、检查构建(
inspect…
)、运行测试(
test
),等等

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

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

  • 从终端执行
    sbt运行
  • 从您的终端执行
    sbt
    ,然后等待sbt初始化,然后在sbt外壳中执行
    run
  • 有关运行sbt的不同方式的更多详细信息,请参阅(扰流板:还有“批处理”模式,您可以在终端上运行
    sbt run
    ,这与
    sbt
    run
    完全相同)

    可能也有帮助-具体来说,它包括
    sbt控制台
    命令

    那么SBT呢?真的需要吗?或者我可以不用它来做Scala吗

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


    但是,
    gradle
    也有这个优势,所以选择最适合您需要的工具。

    打开SBT Shell并键入
    run