问题标签 [ensime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
283 浏览

scala - Ensime configuration for scala library

This is the code I'm trying to run:

I am getting a red bar inside emacs at line 1, which I believe is ensime telling me that it couldn't find the imported library, how do I tell ensime that I want it to recognize a jar? I've tried adding the path to the jar in :compile-deps and :runtime-deps in my .ensime but without success.

I am using emacs-snapshot-gtk (v24.3.50.1) along with ensime 0.1.1.

This is my build.sbt, placed at the root of my project:

0 投票
1 回答
2727 浏览

scala - 在 emacs 上安装 Ensime for Scala Development: sbt.ResolveException: unresolved dependency: org.ensime#ensime-sbtt-cmd;0.12: not found

我已经放置了这条线:

进入我的~/.sbt/0.13/plugins/plugins.sbt

但是,当我尝试sbt在项目的根目录中运行时,我得到:

我猜测 VERSION 编号是错误的,所以我尝试用"0.12","0.13"和替换"0.12-SNAPSHOT",但不断得到类似的结果。

我的目标是使用ensimewithemacs来编辑 Scala 代码。我错过了什么?

0 投票
1 回答
5209 浏览

scala - 如何将更改的 scala 类自动重新加载到 SBT REPL

我是 Scala 的新手,并且在我的 Scala 开发中使用 emacs + ensime + sbt 设置。

这个设置非常好而且很轻,但有一件事让我抓狂——无法从 sbt 开始将更改自动编译/重新加载到 Scala 控制台中。

我经常使用 REPL,并且希望能够使用console命令从 sbt 启动 REPL,并测试我从 REPL 对 scala 类的更改,而不必在每次进行更改时关闭它并重新加载。

我来自 Erlang 环境,这种开发方式在 Erlang 中很容易,但在 SBT 中似乎很困难。我安装了 JRebel 插件,但它似乎不适用于我描述的情况。

有没有人能够做类似的工作并愿意分享配置步骤?

非常感谢提前。

0 投票
2 回答
1404 浏览

scala - 在现有项目中安装 ensime 无法解决依赖关系

我最近在 scala 中启动了一个 android 项目,我是一个 emacs 书呆子,我想在 emacs 中使用 ensime 而不是 IntelliJ。根据安装说明和这篇文章:

在 emacs 上安装 Ensime for Scala Development: sbt.ResolveException: unresolved dependency: org.ensime#ensime-sbtt-cmd;0.12: not found

我的 ~/.sbt/plugins/plugins.sbt 看起来像这样:

我的项目的 project/plugins.sbt 看起来像这样:

(虽然我不认为这是相关的)。

当我运行 sbt 时,输出如下所示:

有什么帮助吗?

0 投票
1 回答
1429 浏览

java - 为什么java进程使用比预期更多的内存

系统信息

操作系统:archlinux

JDK:OpenJDK (IcedTea 2.4.3) (ArchLinux build 7.u45_2.4.3-1-x86_64)

运行应用:https ://github.com/aemoncannon/ensime

我的Java选项:

Linux top 命令显示,它使用 6.8G * 19.5% = 1.326GB

Natvie 内存跟踪显示它使用了 713MB

所以。哪一个是实际的物理内存使用量,如果使用1.3GB内存,那额外的600+MB物理内存去哪儿了?

顶级输出

本机内存跟踪输出(jcmd VM.native_memory detail)

0 投票
1 回答
422 浏览

scala - ENSIME 在编译 Scala 项目时不会给出警告或显示错误

我有一个基本的 Scala 项目设置,它在运行时运行良好。我正在使用 Emacs 和 ENSIME,到目前为止,我已经设法让一个 hello world 程序工作。问题:如果构建失败,ENSIME 永远不会告诉我。这样做C-c C-b b总是会导致一个窗口显示

最新编译结果:0 个错误,0 个警告

即使它根本无法编译。这在以下情况下是正确的:

  • 存在语法错误
  • 目标构建目录不存在,因此.class不会生成文件
  • 存在任何类型的依赖问题,或错误命名的文件/任何东西

当出现问题时,如何让 ENSIME 告诉我?我是否安装不正确?其他一切正常,当项目正确时,它构建得很好。

此外,如果这不是它要显示的内容,那么它将什么解释为错误?

0 投票
1 回答
334 浏览

scala - Emacs Scala Ensime:打开 REPL 不会从我的项目中加载任何内容

我很确定我已经设置了 Emacs、Ensime、SBT 和 Scala 以正常工作。当我保存并成功尝试使用 ensime 的自动重构工具时,我能够编辑文件并查看类型错误。

问题是当我通过按下打开 REPL 时C-c C-v z,似乎我的文件中没有任何内容被加载。

换句话说,如果我定义类似

class Moose {}

在我的源文件中,这就是我尝试Moose从 REPL使用时发生的情况

将某些内容(例如当前缓冲区内容)加载到 REPL 中的最佳方法是什么?

0 投票
1 回答
198 浏览

scala - 使用 Ensime 构建会删除所有 .class 文件,但不会编译任何内容

我很确定我已经设置了 Emacs、Ensime、SBT 和 Scala 以正常工作。当我保存并成功尝试使用 ensime 的自动重构工具时,我能够编辑文件并查看类型错误。

问题是当我尝试构建我的项目时。不管是否有任何错误都没有,按下C-c C-b b给我这个输出:

然后我注意到 REPL 没有加载任何导致我问这个问题的东西,但是我发现如果我通过sbt compile从命令行调用来构建我的项目,我可以构建我的项目并且使用 REPL 很好。

我还看到,在我成功构建我的项目sbt compile然后尝试处理该项目并调用“增量构建”(C-c C-b r)之后,我会得到:

在迷你缓冲区中。这是*inferior-ensime-server*缓冲区中出现的内容:

如果我尝试使用 进行完整构建C-c C-b b,我会得到原始缓冲区没有显示错误或警告(无论是否是这种情况),并看到原始类目录将被删除。

为什么会发生这种情况,我怎样才能获得C-c C-b bC-c C-b r正确构建项目?

编辑

似乎类文件是在我ensime安装的目录中生成的,这对我来说似乎很奇怪......

编辑 2

*Messages*在启动时得到以下信息。我不知道这是否相关:

0 投票
2 回答
166 浏览

scala - 使用 Emacs --no-window 使用 Ensime 全局搜索时,如何使 ENTER 转到选定的类型或方法?

我将 Ensime 2.10.0-0.9.8.9 与 emacs 23.4.1 一起使用,并且我在 gnome 终端(v3.6.1)中使用带有 --no-window 参数的 emacs。当我尝试使用全局搜索命令 Cc Cv v 在我的项目中搜索 scala 类型或方法,然后按 ENTER 转到所选项目时,它不会,但只是在ensime-search缓冲区中输入新行。

问题是,当我尝试在普通的 emacs 中做同样的事情(没有 --no-window)时,一切都很好......

有人知道如何使它与 --no-window 一起工作吗?

PS:请不要回答:“只使用没有--no-window的emacs”...... :)

0 投票
2 回答
592 浏览

scala - 将 ENSIME 与使用 Maven 的已建立的 Scala 项目一起使用

我正在研究使用 emacs/ENSIME 建立一个开发环境,对这个项目进行黑客攻击。不过,该项目使用 Maven,在顶层以及三个组件子项目(格式、cli、核心)中使用 pom。

我无法弄清楚我需要用我的 .ensime 配置做什么才能启动和运行(因为默认配置显然没有削减它,我也无法获得任何各种 ensime-maven-cfg 脚本'已经发现工作)。

我发现的有关 Maven + ENSIME 的最新信息是一年前的,这里。提供的脚本不起作用。

一定有人成功地使用了 Maven 和 ENSIME……我希望。我应该如何设置我的 ENSIME 配置?

编辑:我只是通过在 .ensime 配置文件中设置 :source-roots list 来完成大部分工作。添加deps(通过类似于上面链接的一个被黑客攻击的Python脚本)似乎对构建没有帮助,但是我现在确实有Scala REPL正确加载了我的所有deps。语义高度和其他一些东西仍然不能很好地工作,但我可以跳转到定义并使用类型检查器。

总而言之,它更接近于完全工作。