你们Emacs的JAVA环境好用么?

虽然几乎不写java,但工作原因,有时候需要阅读代码。lsp-java 感觉好难用,都没成功过, 不像lsp-python lsp-go那么顺滑。。

只是阅读的话可以试试大佬的 citre

1 个赞

现在就是用的这个,还有tag + rg,就是想用了lsp 就用全家桶,结果难用。

个人认为 LSP 没有什么必要。有基本的关键字补全、高亮,自动缩进就足够了。

现实中的开发,95% 的时间在调研、设计、思考,4% 的时间在调试,1% 的时间在写代码。LSP 中提供的功能所带来的效率提升,相比之下可以忽略不计。如果一开始就保证足够好的代码规范的话,做跳转、全局替换等操作,也能通过简单的文本工具高效完成。

在用lsp-java,比起idea,emacs做java开发主要是debug不太友好,有时候语法分析突然不生效(不知道什么原因引起的没语法检查、自动补全了),也有和lsp server交互导致卡死的情况

做个有点意思的计算,靠虑主程的话,比如说一个季度,30000行的话(这对 java 来说是个最小值了吧),假如平均每行 10 个字符,一天工作 8 小时(全在干活),这需要你在敲的时候的手速

(/ (* 10 30000)
   (* 22 3)
   (* 8 60)
   0.01)
;; 946

这个 kpm 是当之无愧的世界第一,击键高达 15。 当然这计算过于保守了,就算你真有这个手速,你也得花个 10%~20% 的时间来敲。这其实反应了为什么 java 程序员不论水平高低,几乎都在用 IDE.

5 个赞
    ;; NOTE: https://github.com/redhat-developer/vscode-java/issues/406#issuecomment-356303715
    ;; > We enabled it by default so that workspace-wide errors can be reported (eg. removing a public method in one class would cause compilation errors in other files consuming that method).
    ;; for large workspaces, it may make sense to be able to disable autobuild if it negatively impacts performance.

lsp-java-autobuild-enabled

我查过 java 的 server 端的日志,有可能是 autobuild 性能不行

1 个赞

说的很有道理,不过有个错别字 「反应」→「反映」

哈哈,常有的,还有“考虑”。 我的输入法打字是单字的,所以有时候脑子里面没有太注意的时候,就会打出来错的字。

其他语言还好,java这种语言,ide帮你做了大量脏累活。那些jar包还不能只有文本工具完成。

lsp-java好像用的是eclipse的server,另外有个lsp-intellij可以试试

Java的包名函数名都巨长无比,不用LSP之类的任谁都搞不定的。还别说重构里的十几项操作。。。

很久以前通过 arch 装的 eclipse 的 server 配合 eglot ,并把 xml 文件所在目录设置为项目根目录。

在这种配置下写了一点 Java , 但是只能索引单个文件内的名字,网上似乎也没见别人有这个问题。

大佬你的 lsp-java 配置之后好用嘛? 依赖都是如何导入的啊? 请教一下

是我的梯子问题导致server下载失败了,springboot项目 maven 管理,基本用lsp-java上很顺滑了。centaur 或者我的dotfairy,我的配置参考centuar,移植了doom的keybinds,改了一些配置。 目前开发C/Java/python/go/rust和react开发基本用起来很顺滑(用来已经写c和go、python项目一年了,不过debug很少用,习惯用log或者直接人肉debug)。

谢谢大佬 我试一下你的配置看看

大佬有啥方式 可以优化一下 dapmode 的时候的运行性能吗? 感觉 dap mode 的时候很慢 自动提示的时候 也感觉有卡顿 很慢

我很少用呀, 我写代码,一般用log的debug时会把相关值都打出来,定位就知道问题了。 我用debug一般只会写c的时候用gdb。dapmode我没深入看过,重点关注一下,dap绑定的接口。看看是不是调第三方工具导致慢的。

我曾经是86五笔单字派,后面打词了

试试这个