用Emacs写java的朋友能分享下感受吗

想用Emacs写所有的编程语言,主业是java web,一般是springboot项目,不知道在Emacs里面表现怎么样,用过的朋友说说。

用 lsp 的话,处于可用状态,除了 debug 这一块,别的都还比较好用,当然肯定没有神器 idea 用着爽,尤其是代码大量重构的场景

lsp-bridge 基本可用,但我的 CPU 比较慢,所以不是很丝滑。

公司里面是基本的 company 补全,然后开个别的 IDE 消除语法错误,然后是 maven / gradle 接手。主要原因是开发机是 Windows,Emacs 在 wsl 里,再加上安全软件什么的,IO 太慢,所以 Emacs 主要用来编辑。

lsp-mode 写 java 又慢又不稳定,直接上 lsp-bridge 吧,还有你需要会常用的 maven 命令,比如 mvn springboot:run

1 个赞

你说lsp-mode不稳定,那么你截图里echo area的[LSP-Bridge] Internal error是怎么回事?看起来是不是也不太稳定啊?

按照我用的过程来看,eglot 的程序健壮性貌似是最强的,对各种 corner case 的处理也都比较好

lsp-bridge 有个问题,在编写 typescript 的时候,lsp import 之后,不知为啥,import 语句没有插入,反而会把当前行删掉,这个 bug 我自己找了好久没找到原因,就又切换回 eglot 了,发现确实稳定多了,速度也能接受 :joy:

我只有写typescript的时候用lsp,其他的语言都太麻烦效果也不好。问题是eglot慢到无法接受,连打字都很困难,只好用lsp-mode。

你是最新版吗?

这个问题很早就修复了呀, 现在还有问题吗?

你确定是 Eglot 的问题吗?可以 emcas -Q 重现下,给 Emacs 报个Bug。

我一直用 Eglot,在 Windows 平台下都是流畅的。

我确定lsp-mode没有这个问题。慢是和我的project里的文件有关的,我不可能把公司的代码发给他们来重现问题。反正我也只要可以用就可以了,lsp-mode把那些花哨的功能都关了以后跟eglot基本上没区别。

朋友有教程之类的吗?

看了各位的回答,我决定试一试。多谢各位。

刚刚试了下,这个问题还在, update import from ‘xxx’ 之后,光标所在的那一行就会被删掉

是用的今天的最新版本

BTW:刚刚是在 terminal 下,用 acm-terminal 试的,这个应该没有影响吧,之前这个问题在 GUI 和 Terminal 下都重现过

可以提一个最小重现demo到 github 吗? 谢谢。

好的好的,等我忙过这一阵子就搞个 repo 传上去!

1 个赞