company-lsp, company-yasnippet 这两分开的话,各自的补全都很好,只不过 company-lsp 会直接把 company-yasnippet 给屏蔽掉了,反之亦然。
配在一起的话,对一些函数的补全还不错(无论是自己写的还是系统自带的),但其他时候补全感觉有些乱。
我的 company-backends 配置
(set (make-local-variable 'company-backends)
'((company-lsp company-yasnippet ) company-dabbrev-code
company-dabbrev
company-files))
一个结构体及相应的补全
struct token{
char type;
char string[MAXTOKENLEN];
};
struct token this;
其他地方的补全
while, for 之类的还不错
定义的一些函数效果也很好
snippet名字一般都很短, 感觉用不着补全, 我是定义了一个快捷键用来展开snippet
company-yasnippet本身并不建议放到company-backend里,推荐单独绑定键位
我试过两者一起开启,效果并不好,于是就关掉了
恩,我试了几次也从 company-backends 里去除掉了
@netjune
恩,这样确实不错
company-yasnippet我单独绑了个键
company-lsp我添加到buffer-local的company-backends里去了……
请教下,我在c-mode下,company-backends 里 都有 :with company-yasnippet,比如company-clang :with company-yasnippet,这个company-yasnippet会补全一大堆乱七八糟的东西,请问要怎么把这个 company-yasnippet排除掉呢
我的company-backends的值
((company-lsp . #1=(:with company-yasnippet))
(company-dabbrev-code company-gtags company-etags company-keywords . #1#)
(company-files . #1#)
(company-dabbrev . #1#))