现在只是滚动 buffer 是不会发送请求的,更新试一下吧。
好的,我来试下,谢谢!
不用谢, 我很少用触摸板或鼠标, 没有考虑这个情况。
发现lsp-bridge
在补全c++
时没有展开文档,大佬可以修复一下吗
给个例子吧, 给了例子好修复呀。
看了你的动画, 每看懂呀。
lsp-bridge 已经支持多个 LSP Server 对同一个文件进行同时补全了, 相关的配置说明如下:
lsp-bridge每种语言的服务器配置存储在lsp-bridge/langserver.
大多数情况, 你可以根据以下优先级顺序来自定义服务器配置:
-
lsp-bridge-get-single-lang-server-by-project
: 用户自定义函数, 输入参数是project-path
和file-path
, 返回对应的LSP服务器字符串, 可以在lsp-bridge-single-lang-server-mode-list
列表中查询所有LSP服务器的名称, 默认这个函数返回 nil -
lsp-bridge-single-lang-server-extension-list
: 根据文件的扩展名来返回服务器,比如打开*.wxml文件时,我们会使用wxml
LSP服务器提供补全 -
lsp-bridge-single-lang-server-mode-list
: 根据Emacs的major-mode来返回对应的服务器
如果你在编写JavaScript代码, 你可能需要自定义多服务器配置:
-
lsp-bridge-get-multi-lang-server-by-project
: 用户自定义函数, 输入参数是project-path
和file-path
, 返回多服务器配置名, 可以在子目录 lsp-bridge/multiserver 中查找 -
lsp-bridge-multi-lang-server-extension-list
: 根据文件的扩展名来返回多服务器配置名, 比如打开*.vue文件时,我们会使用volar_emmet
来同时利用volar
和emmet-ls
两种LSP服务器提供补全 -
lsp-bridge-multi-lang-server-mode-list
: 根据Emacs的major-mode来返回对应的多服务器配置名
多语言的配置格式非常简单, 比如 volar_emmet.json 就轻易的融合了 volar
和 emmet-ls
两种 LSP Server:
{
"completion": ["volar", "emmet-ls"],
"completion_item_resolve": ["volar", "emmet-ls"],
"diagnostics": ["volar", "emmet-ls"],
"code_action": ["volar", "emmet-ls"],
"execute_command": ["volar", "emmet-ls"],
"find_define": "volar",
"find_implementation": "volar",
"find_references": "volar",
"formatting": "volar",
"hover": "volar",
"signature_help": "volar",
"prepare_rename": "volar",
"rename": "volar"
}
只需要一句 (setq lsp-bridge-multi-lang-server-extension-list '((("vue") . "volar_emmet")))
就可以使得打开 *.vue 文件的时候自动开启 volar_emmet 多LSP Server补全, 你也可以任意搭配不同的 LSP Server, 一般来说只有 JavaScript 开发者需要多个 LSP Server.
目前 eslint 的 server 配置还比较麻烦, 诊断和Code Action暂时还不支持多 LSP Server.
就是正常补全应该是只有fmt.Println(xxx)
,但是有时候补全的时候会出现fmt.fmt.Println(xxx)
。
修复了, 请更新测试一下。
原因是 clangd 返回的文档数据结构和其他服务器返回的结构不一样。
辛苦大佬了
还有个问题: 补全时在查看完一个补全项的文档后,回到没有文档的一项,文档不会消失
复现过程:
- 打开任意
c++
文件 - 在
main
函数中输入for
- 选择
for (init-statement; condition ...
一项,发现此时没有文档 - 选择
forward<typename Tp>(typename ...
一项,发现此时有文档 - 切换回
3
中的选项,发现此时来自4
项中的文档并未消失
现在会根据多服务器的顺序来排序菜单补全项, 更新测试一下吧。
更新吧, 应该好了。
请先更新到最新版再看看, 如果还有问题, 麻烦给一下稳定重现的方法, 稳定重现就可以修复。
ok,我稍后再试试。
辛苦大佬们了