使用lsp查找定义,发现定义如果是本文件内的,总是会重新打开文件(文件名后面出现<2>,<3>..)

使用lsp在代码中查找定义,如果这个定义出现在本文件内,好像总是会重新把当前文件打开一次然后跳转,表现就是在buffer list中出现会文件名后带<2>,<3>这样数字的文件;跳转次数越多这样的文件越多;如果跳转定义的文件不是本文件就正常;感觉是lsp不会复用已经打开的buffer一样; 大家用lsp有这样的表现吗? 我的emacs 28,win10系统;

谢谢;

不会重新打开,只是会提示:

a.cpp and  a.cpp are the same file

Emacs 28 + Debian 11 不会,可能是其他插件的原因吧?可以试试把用 emacs -q 然后加载 lsp 在看看有没有问题,还有问题的话就直接到 github 上报 bug 吧。

byzanz_record

用最小配置试试。