之前一直没太关心这个问题,因为一直有设置 lsp-eldoc-render-all t
,
- 在 go 中,render-all 后可以展示函数签名,eldoc minibuffer 高度也不是很大,
- 主要是 rust,使用 RA 作为 server 时,minibuffer 有时能占 1/3 的屏幕,十分讨厌,关闭 render-all 可以让 minibuffer 变成一行,但是默认只展示函数的 self 类型,用处不是很大,发现有个 PR 解决了这个问题,我本地测试了下,基于最新 master (commit:7ce0d789a313b84ef7c1b00b63a3db4cc0959fbe)修改有效,不要从 elpa 里面安装!!
后面发现 reddit 这个帖子,设置 lsp-gopls-hover-kind "NoDocumentation"
后,就能让 go 也只展示签名了。
效果图
有同样需求的同学,可参考我的配置文件
总结
一些重点的 package 用 submodule 管理起来,不要随便升级,这个 eldoc minibuffer 的问题出现过很多次了!!
1 个赞
Youmu
2
(setq lsp-eldoc-enable-hover nil)
一劳永逸
大家怎么会用submodule 来管理自己常用的包么?有代码可以看看么
重点不是submodule,是没有用对配置:(setq lsp-eldoc-enable-hover nil)
请教下,你写的lsp-mode python要怎么设置才会像上面显示签名?
@seagle0128 用的doom默认的配置,lsp-eldoc-enable-hover是t,显示函数签名时,不会显示参数,单只有一对括号。 看了lsp-python-ms 和lsp-mode的README都没找到相关文档。
所有使用LSP的语言都不显示eldoc。elisp还是会显示的。
lsp-python-ms ms的那个server,是没有这个功能,还是需要配置
abcbc
13
设置lsp-gopls-hover-kind "NoDocumentation"
并不能完全解决问题,比如对于go的struct,lsp eldoc仍然显示全部的定义,使得minibuffer扩张
不清楚你那边的配置,我这边 eldoc minibuffer 现在都是一行
abcbc
15
检查了一下我的配置,没有设置lsp-eldoc-render-all nil
。所以对于go的struct,起作用的是lsp-eldoc-render-all
。