2012-11-29 187 views
3

是以正确的方式支持SBT的任何IDE(例如Maven)?因为我发现了许多工具,生成IDE相关的配置文件,但我还没有发现任何插件在IDE中支持SBT交互形式。任何支持SBT的IDE?

我想做一个基于SBT的IDE不可知的项目,但我也希望能够使用IDE提供的全部功能,而不仅仅将其用作编辑器,并从控制台执行所有其他操作。

回答

7

Intellij是否符合法案?它有一个SBT plugin(和一个Scala插件,很明显!)

+0

从我看到的所有这可能是最好的。但是,当你将它与Maven支持进行比较时......那么你知道。 – Uko

+0

SBT插件不再相关,它被集成到[IntelliJ]中(http://blog.jetbrains.com/scala/2013/11/18/built-in-sbt-support-in-intellij-idea-13 /)。不幸的是,这个“特征”非常“神奇”。事情发生(或不)。你无法知道。使用它一个月后,我的头痛感比易用性更令人头疼。我想我只需切换到命令行,或者尝试Typesafe Activator网页编辑器 - 它不会更令人沮丧......可以吗? – drozzy

6

我知道这不是你正在寻找的东西,而是把它作为一个解决方案在eclipse中用于处理SBT的任何感兴趣的人。

SBT生成eclipse配置文件,但是在导入它之后,它可以在eclipse中正常工作。您只需要在Eclipse之外首次设置项目,运行SBT来解析依赖关系,使用eclipse sbt插件生成eclipse结构并导入到Eclipse中。之后,您可以直接从Eclipse运行代码,并且工作正常。

我这里还有详细步骤:

  1. 创建的文件夹结构如下: ScalaSBTProject

  2. project文件夹中创建一个名为plugins.sbt文件和下面的行添加到它:

    addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0") 
    
  3. 创建build.sbt在根目录中,即ScalaSBTProject,其内容类似于以下内容。我使用的是阿卡在这里,但添加和删除您需要的库:

    name := "ScalaSBTProject" 
    
    version := "1.0" 
    
    scalaVersion := "2.10.0-RC2" 
    
    resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/" 
    
    libraryDependencies += "com.typesafe.akka" % "akka-cluster-experimental_2.10.0-RC2" % "2.1.0-RC2" 
    
  4. 打开命令提示符,然后在目录中运行ScalaSBTProjectsbt。 SBT将下载并解析所需的任何依赖关系

  5. 在SBT命令行运行命令eclipse。这将产生所有日食相关项目文件

  6. 导入ScalaSBTProject到Eclipse中使用File->Import->Existing Project到工作区,请务必检查Import into workspace

编辑:正如后脚本,你可以很轻松地创建一个采用项目名称的批处理文件并生成兼容eclipse的项目,只是一种加快处理速度的方法。

+0

是的,你是对的。但是我正在寻找一个插件,它会告诉IDE libs位于远程存储库和分机上。你讲的方式更像是一个解决方法,如何在使用SBT的项目中使用Eclipse,同时我正在搜索SBT的GUI工具 – Uko

+0

是的,我知道这可能不是你要找的东西,因此最初的免责声明。我有一段艰难的时间才能完成这项工作,所以想通过它可以在这里发布它,如果它帮助甚至有点 –

+0

是的,谢谢。无论如何,这是一个很好的建议 – Uko