使用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 摸出的经验。
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。真正开箱即用。