【问题标题】:Using Ensime + SBT to browse scala library使用 Ensime + SBT 浏览 scala 库
【发布时间】:2012-10-21 16:17:48
【问题描述】:

是否可以使用 Ensime 和 SBT 去定义 Scala 库类?

我知道可以看到元素的定义(使用 M-. 或 Control+Left-Click),并且可以从那里看到文档页面。有没有办法将此功能也绑定到 src 中?

更新:

我的项目配置(.ensime 文件):

(
  :root-dir "/Users/eugene/tmp/scrap"
  :sources (
    "/Users/eugene/tmp/scrap"
  )
  :reference-source-roots (
    "/usr/local/Cellar/scala/2.9.2/libexec/src"
  )
 :compile-deps (
    ""
  )
  :target "/Users/eugene/tmp/scrap"
)

/usr/local/Cellar/scala/2.9.2/libexec/src 包含:

scala-compiler-src.jar scala-library-src.jar  scala-swing-src.jar
scala-dbc-src.jar      scala-partest-src.jar  scalap-src.jar

build.sbt:

name := "scrap"

version := "0.1-SNAPSHOT"

scalaVersion := "2.9.2"

【问题讨论】:

    标签: scala emacs sbt ensime


    【解决方案1】:

    下载 scala-library 的源代码,然后在您的 project config file 中设置 :reference-source-roots。

    【讨论】:

    • 似乎没有达到预期的效果,用信息更新帖子
    • 嗯...我记得这在我们的 Sublime 插件中工作。看来我们得召唤伊蒙了。
    • 对了!这东西不能按原样工作。您需要将源代码提取到一个目录,然后将reference-source-roots 指向该目录。
    • 工作,有点。扩展了 scala 库的 jar 并查看了以下代码: val x = 1 :: 2 :: Nil val y = x.map (x => x*x) 检查 .map 让我纠正了 TraversableLike.scala 中的 def虽然对 Nil(或 List)进行 sinepcting 只是将我扔给 scala.collection.immutable$ 的文档查看器
    • 这可能是某种 ensime 错误。当将 Nil 完全限定为“scala.collection.immutable.Nil”时,ensime 能够找到正确的定义。看起来它期望上面有一个“不可变”的伴随对象?不知道为什么。
    猜你喜欢
    • 2013-04-20
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 2011-11-12
    • 2011-04-28
    • 1970-01-01
    相关资源
    最近更新 更多