前段时间从lsp-mode切换到了eglot, js,html,css等都没问题,唯一的问题是java可以补全但是不能跳转sdk和第三方库的源码。
看了下jdtls和lsp-java的源码查了(eclipse.jdt.ls#issues#1384), 发现要开启 extendedClientCapabilities.classFileContentsSupport
支持,跳转代码定义的时候jdtls才会返回 jdt://协议开头的依赖代码的路径.
最终参考lsp-java#lsp-java–resolve-uri的实现,完善了eglot java跳转sdk和库代码的需求。
我的修改
4 个赞
感觉现在转 eglot
的人蛮多的,你们用起来感觉怎么样?我用的时候总觉的一顿一顿的,没有 lsp-mode
那么顺滑,lsp-mode
就是依赖实在是太多了……
通常是 eglot 顺滑,lsp-mode 一顿一顿的吧。。。两者不属于同一个重量级别阿
2 个赞
我现在使用很顺滑。
如果你用的是emacs27.2以上的版本, 可能是因为eglot/issues#860这个bug导致的卡顿,目前已修复,可以使用最新版本试试。
lsp-bridge 通过这个补丁也实现了 Java 直接跳转到第三方库的功能。
1 个赞