版本信息:
eglot (20220123.1406)
Java语言服务器:jdt (jdt-language-server-1.9.0-202202050201)
Emacs 版本:27.2 (29.0也能复现)
现象:
1)开启yas-minor-mode,输入sys
,提示可以补全System.out.println
(类型提示是Snippet),按回车选中候选,上屏的是sysSystem.out.println(0);
2)关闭yas-minor-mode,输入Sys
(第一个S大写),也可以补全System.out.println
(看类型提示也是Snippet),按回车之后是: SysSystem.out.println(${0});
而且光标在分号的后面。
排查(可能有点帮助):
现象1,经过git bisect来看,是 76d8f49cd41f394cc602433ba79b5d18a163517f
这个commit引入的,所以我临时将下图的标红代码注释掉了,现象恢复正常。但eglot的开发者认为可能不是eglot的问题(#836)。由于才疏学浅,实在不能做更多的debug,所以求助于大家。我接下来也做更多的对比测试。
现象2,一筹莫展。
一些辅助截图:
给各位鞠躬致谢!