【发布时间】:2012-11-17 14:33:27
【问题描述】:
是否有任何 IDE 以适当的方式支持 SBT(例如 Maven)?因为我找到了很多生成IDE相关配置文件的工具,但是我还没有找到任何支持IDE中SBT交互形式的插件。
我想制作一个基于 SBT 的与 IDE 无关的项目,但我也希望能够使用 IDE 提供的全部功能,而不仅仅是将其用作编辑器并从控制台执行所有其他操作。
【问题讨论】:
是否有任何 IDE 以适当的方式支持 SBT(例如 Maven)?因为我找到了很多生成IDE相关配置文件的工具,但是我还没有找到任何支持IDE中SBT交互形式的插件。
我想制作一个基于 SBT 的与 IDE 无关的项目,但我也希望能够使用 IDE 提供的全部功能,而不仅仅是将其用作编辑器并从控制台执行所有其他操作。
【问题讨论】:
Intellij 符合要求吗?它有一个SBT plugin(显然还有一个 Scala 插件!)
【讨论】:
我知道这并不完全是您要寻找的东西,但将它放在这里作为在 eclipse 中使用 SBT 的解决方法,供任何感兴趣的人使用。
SBT 生成 eclipse 配置文件,但是在你导入它之后,它在 eclipse 中运行良好。您只需要首次在 Eclipse 之外设置项目,运行 SBT 以解决依赖关系,使用 eclipse sbt 插件生成 eclipse 结构并导入到 Eclipse 中。之后,您可以直接从 Eclipse 中运行代码,它工作正常。
详细步骤如下:
创建文件夹结构如下:
在project 文件夹中创建一个名为plugins.sbt 的文件,并向其中添加以下行:
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
在根目录下创建build.sbt,即ScalaSBTProject,内容类似如下。我在这里使用 akka,但可以根据需要添加和删除库:
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"
打开命令提示符并在目录ScalaSBTProject 中运行sbt。 SBT 将下载并解决所需的任何依赖项
在 SBT 命令行中运行命令 eclipse。这将生成所有与eclipse相关的项目文件
使用File->Import->Existing Project 将ScalaSBTProject 导入Eclipse 到工作区,并确保选中Import into workspace
编辑:就像 Post-Script 一样,您可以很容易地创建一个批处理文件来获取项目的名称并生成与 eclipse 兼容的项目,这只是加快进程的一种方式。
【讨论】: