如何在Sublime Text 3中构建Scala应用程序?

如何在Sublime Text 3中构建Scala应用程序?,scala,sbt,sublimetext3,Scala,Sbt,Sublimetext3,我希望能够在Mac10.9.3上以Sublime Text 3构建Scala应用程序。我已经安装了Scala 2.11.1和sbt 0.13.5,它们都可以正常工作。我用自制软件安装的 然而,我似乎找不到如何为Scala项目创建构建系统。例如,这个不起作用: { "cmd": ["sbt", "test"], "selector": "source.scala", "working_dir": "${project_path}" } 我也找到了一些不同的,但它们对我也不

我希望能够在Mac10.9.3上以Sublime Text 3构建Scala应用程序。我已经安装了Scala 2.11.1和sbt 0.13.5,它们都可以正常工作。我用自制软件安装的

然而,我似乎找不到如何为Scala项目创建构建系统。例如,这个不起作用:

{
    "cmd": ["sbt", "test"],
    "selector": "source.scala",
    "working_dir": "${project_path}"
}
我也找到了一些不同的,但它们对我也不起作用。你的想法

更新

[Errno 2] No such file or directory: 'sbt'
[cmd: ['sbt', 'test']]
[dir: /Users/alex/Documents/projects/scala/dir1]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]
更新2:

{
    "cmd": ["/usr/local/bin/sbt", "test"],
    "selector": "source.scala",
    "working_dir": "${project_path}"
}
应用程序:

class MainTest extends App {
  println("Hellowa!")     
}
输出:

 [0m[[0minfo[0m] [0mSet current project to scala (in build file:/Users/alex/Documents/projects/scala/)[0m
[0m[[0minfo[0m] [0mCompiling 1 Scala source to /Users/alex/Documents/projects/scala/target/scala-2.10/classes...[0m
[0m[[32msuccess[0m] [0mTotal time: 4 s, completed Jun 16, 2014 4:51:38 PM[0m
[Finished in 7.2s]

这是否就是“Scala SBT为Sublime Text 2和Sublime Text 3构建工具集成”。这是一个解决方案?

我个人使用的SublimeREPL支持SBT。SublimiteRepl允许您从Sublimite启动SBT。这避免了我下载另一个包,因为我已经使用了SublizeSBT for python。我想要一个最小的配置来在scala中编码,因为我的IDE太慢了。我首先尝试使用内置系统,但最终使用SBT。SBT与其他构建项目的方法相比具有很大的优势

首先,它只编译需要修改的文件(修改过的文件和依赖这些文件的文件)。 其次,它对于导入库非常方便。build.sbt文件中的一行允许您从github导入库(通常这一行在github主页上有明确说明)。 第三,您可以在每次保存时使用命令“~compile”或“~compile;runMain'mainclass”进行编译

我发现后者非常有用,因为用scala编译通常需要很长时间。我经常开始添加一个简单的函数save,在编译过程中,我改进了我的第一个绘图


主要的限制是,如果您也有一些java文件,您必须将代码放在src/main/scala或src/main/java中,并且必须用sublime打开整个根目录。

Homebrew在
/usr/local/bin
中安装可执行文件,但是您现在提供的错误文本显示该目录不在您的路径中

有两种方法可以解决此问题:

1) 将
“cmd”:[“sbt”,“test”],
更改为
“cmd”:[“/usr/local/bin/sbt”,“test”],


2) 将
/usr/local/bin
添加到
PATH
环境变量中。请注意,您需要以这样一种方式执行此操作,使诸如Sublime Text之类的GUI应用程序注意到更改;请参阅,例如,有关详细信息,请参见:D我使用SublizeSBT已有相当一段时间了,它调用的唯一复杂性是
cmd+shift+p
,然后是
sbt开始连续测试
。我建议您在烘焙自己的构建系统之前,先尝试一下SBTSublime。

仅限Windows! 如果已将bin文件夹添加到PATH变量中:

{
    "cmd": ["sbt.bat", "test"],
    "selector": "source.scala",
    "working_dir": "${project_path}"
}

你说“他们不工作”是什么意思?您是否收到任何错误消息,如果是,它们是什么?这个命令从终端起作用吗?如果您想让任何人帮助您,您需要提供更多信息…@MattDMo,我稍后会发布它们。@MattDMo,sbt本身在终端上运行时工作正常。为什么我要使用那个复杂的第三方解决方案,而不是只创建我自己的构建系统,这要简单得多?我不喜欢库,我喜欢简单。你不会的,因为你说过“我不喜欢库,我喜欢简单”:)但是,我想我会的。一个崇高的构建工具会运行一个命令,然后退出。Sbt在您不关闭它时效果最好。初始化需要一些时间,并且将受益于JIT。这就是为什么你最好使用SummaleSBT的原因。正如我所说,我可以从终端运行“sbt”,它工作得很好。
$which sbt/usr/local/bin/sbt
仅仅因为你的shell知道sbt在哪里,并不意味着像Summale这样的GUI应用程序知道。你认为有一条路径在任何地方都相同的假设是错误的。它编译得很好,但没有打印“Hellowa”。你需要
运行
而不是
测试
。后者没有任何作用,因为您没有定义任何测试。为什么不在Scala.sublime-build文件中添加一行呢?当然可以,但这是一个圣诞节vs复活节的讨论,不是吗?我的建议是尝试SupremesBT,因为你可以在几秒钟内运行它,并在同样的时间内删除,但如果你选择走自己的路,它对你更有效-甚至更好。