doom lsp-mode + company 的奇怪补全

在 doom 下开启 company (go +lsp) lsp 这几个 module,然后我发现自动补全很奇怪,不管在哪我输入个点就会触发一堆 snippet 补全,这些补全候选多半是不能用的,尤其是数字后面的。所以请教论坛大佬该如何禁用。

P.S. 刚用 doom emacs,只有在 init.el 中启用这些模块没有其他配置。

最好多几张截图或者gif文件,这样描述问题会清楚一些。

截图如下,我非常疑惑这个问题完全没人提到?我到处都找不到反馈这种情况的,我也没加其他配置啊

image

image

可能是 snippets 这个插件生效了,可以尝试把这个模块去掉。查查 yasnippets 这个插件是属于哪个模块 。

启用了company-yasnippet吧

应该是,但是如何取消掉这个?当有 yasnippet 的时候不知道是 comapnay 还是 lsp-mode 会自动挂上 company-yasnippet backends,我之前想过手动取消但没找到合适的方法,直接重写 company-backends 变量?求教~

另外就是,你们真的都没遇到这个问题吗?按理来讲不该出现这种初始配置就很劝退的问题吧。。。

大佬们都自己维护配置给大家用了,不用doom的。 我用doom写c的项目,也会遇到你这种问题,不过触发情况不一样,我是写case xxxx冒号之后它突然给我提示一堆无用的候选,我每次都得c-g再按回车然后写break。

doom 配置里加的吧,默认是不会开启的,另外也有更好的办法开启,比如:

感谢大佬回复!看起来是没有方便的配置项了,我研究一下大佬的代码。话说我字体的配置也是用的大佬 Centaur 里的 :joy:,但还是更喜欢 Evil,所以选了 Doom。

按照大佬的代码加了一些配置,解决了字符串和注释中点号的 snippet 补全。但空行输入点触发补全好像是 lsp 本身的问题,今天去 vscode 上试了下,一模一样,就是前面贴的三张图中的最后一张的情况。不过这个是问题吗?一般情况似乎不会突然写个点出来。

用lsp-bridge吧,确实快很多

可以分享一下你修改的配置吗?

我在Latex+LSP遇到了类似的问题,任意输入一个空格,就会给出一串yasnippet补全。