java+emacs现在该是什么姿势?

使用lsp-java配置,可以完整的体验在emacs下进行java项目编码。

基本要放弃了,折腾了一周,前端eglot,后端jdtls,勉强可以做到提示,POM不支持

后续计划 VScode 主力Java开发工具 ; Emacs C++ 开发工具 、Org-mode 和 代码查看工具。

有空打算折腾一下 LSP Bridge ,看看能不能替换vscode

你可以试试这个包:

如果想功能齐全一点, lsp mode 或许是更好的选择:

PS:未测试,仅推荐。

我觉得 Emacs 默认的 Java 体验还不错,不需要什么外接包裹,etags + CC Mode 就够了。 这是这几天写 Android port 摸出的经验。

3 个赞

2023年来的。 想问一下,jdtls是不是只能在这个workspace目录下面才能工作? 就是jdtls成功连接了之后,一般下面的minibuffer会出现一行 jdtls:connect to ("xxx/a") 我试过在xxx/b目录下面写java文件,好像就没有自动补全等作用了

老哥,我是不是可以这么理解 jdtls可以直连使用,也在lsp-java模式下,emacs去调用jdtls 也可以跟lsp-bridge使用,原生环境去启动jdtls,然后让lsp-bridge去调用 也可以让eglot去调用jdtls 是这样吗?

Android Studio + Emacs keymap

默认打开个 git repo 目录,里面有 pom.xml 文件的,在我这里是零配置,各种功能直接就可用的。不过 java 貌似得用 jdk 17,记得是最新的 jdtls 的要求

奇了怪了,我貌似只能在 LSP :: Connected to [jdtls:83923 /Users/mmmmmcclxxvii/Develop/temp]. 这个temp目录下面jdtls才起作用

用比较高的JDK应该没什么问题。以前遇到JDK8的项目,只能用比较老版本的jdtls。 在vscode里他会根据你用的JDK版本,自动切换jdtls。真正开箱即用。