从 Eclipse 运行 SBT 任务

Posted

技术标签:

【中文标题】从 Eclipse 运行 SBT 任务【英文标题】:Run SBT Task from Eclipse 【发布时间】:2012-04-04 10:29:20 【问题描述】:

我使用 SBT 作为构建管理器,使用 Eclipse 作为我的 IDE,或者至少我想这样做。问题更多,如何从 Eclipse 运行特定的 SBT 任务。我已将项目正确导出到 Eclipse,Eclipse 在编写代码时非常有帮助,但我如何使用 Eclipse 作为 SBT 的前端。如何从 Eclipse 启动 SBT 运行命令?如何启动 SBT 测试命令?

【问题讨论】:

有一个插件添加了一个选项来运行与 Eclipse 中的任何 scala 项目关联的 sbt 控制台。 github.com/SandroGrzicic/sbtconsole 你可以查看我对这个问题的回答:[Using SBT from Scala IDE][1] [1]: ***.com/questions/11345534/using-sbt-from-scala-ide/… 【参考方案1】:

不幸的是,目前在 Eclipse 中没有集成 SBT。朝那个方向发展的唯一插件似乎已被废弃并且毫无用处:http://www.assembla.com/spaces/sbt-eclipse-integration/wiki

解决方案是将终端集成到 eclipse 中以运行 sbt 命令。如果你想这样做,文档在这里:Is there an Eclipse plugin to run system shell in the Console?

如果您对其他 IDE 开放,并且如果您必须集成,则可以使用 IDEA 及其 SBT 插件:https://github.com/orfjackal/idea-sbt-plugin

就我而言,我一直在我的 Eclipse 旁边使用一个 shell 窗口,使用快捷键在它们之间切换。

【讨论】:

我知道 IDEA,使用过并且喜欢它,但它比 Eclipse 更需要资源。但我给 eclipse 一个机会的原因是我的键盘布局在任何与摇摆相关的东西上都不能完美地工作(缺少一些字符)。 Eclipse对于eclipse开发来说绝对不差,但是目前它对sbt的支持显然还不够好。但我们可以希望它在未来会有所改善。 iinm,运行sbt 命令的场合通常很少见,因此Eclipse 集成的需求并不高。尤其是例如 play 2.0 框架,您只需打开一个终端并 sbt 运行,然后在您开发时让它运行。 如果您不想依赖额外的插件来进行持续测试和/o TDD 方法(我什至不知道现有的 eclipse 插件是否适用于 scala 场景),您会运行很多sbt 命令。 Sandro Grzicić 正在努力集成一个 sbt 控制台(GSoC 项目),希望我们也将拥有一个支持 SBT 的编辑器(即在您的 Build.scala 文件上完成代码)。如果您想关注开发,只需订阅scala-ide-dev ML【参考方案2】:

今天,我设法在 Windows 上将 sbt 作为 eclipse 中的外部工具启动。除了必须猜测未记录的 jline 属性之外,这很简单

-Djline.WindowsTerminal.directConsole=false

除非设置了此属性,否则在键入命令后按 Enter 不会执行任何操作。

出于参考目的,这是所有内容的大部分当前版本:

Windows 7 x64 Eclipse 4.3.1 Scala IDE 4.0.0m1 sbt 0.13.0

运行配置如下:

HTH

【讨论】:

你每次启动/构建程序时都会重新启动 sbt 吗? 有了这个启动配置,你得到的是一个 sbt 提示符,当你想要构建一些东西时,你可以在其中输入更多命令,所以没有必要在构建之间重新启动 sbt。 目前这并不重要,因为我没有安装 eclipse,我在任何项目中都没有使用 Scala 或 Jvm,但是很高兴知道,天气允许将 sbt 任务绑定到 Eclipse 中的一个键。

以上是关于从 Eclipse 运行 SBT 任务的主要内容,如果未能解决你的问题,请参考以下文章

无法从 AutoPlugin 的命令运行自定义 sbt 任务

无法安装 sbt-eclipse 插件

如何从 SBT 运行 webpack

SBT:覆盖任务“test”的行为以仅从默认 testSource 文件夹运行测试,有多个测试源文件夹

使用 Scala IDE 中的 SBT

将多个 sbt 任务合并为一个