irony这个C/C++补全插件支持两种显示前端:
- completion-at-point-functions
- company-irony
其中completion-at-point-functions不能补全全部的模版……总是给你一个 printf(
之类的补全(虽然显示是全的),但是company-irony在我这很差的技术水平上,只要将company-irony添加到company-backends
变量里,这个插件就会屏蔽所有的其他补全插件,导致很多dabbrev啊,c-headers之类的都无法使用。
所以最后我选择completion-at-point-functions。
反正我只是要个参考而已……我毕竟不写C++,只写C啊……
其他的关于C的东西,需要的时候加个yasnippet也就得了……
========================================
由此我具体想水什么呢?
在你技术有限而又偷懒不想去学的情况下,一定得明白自己的需求到底是啥……而且有的时候,欠债得还,就像我现在不得不面对这样的选择一样
你没有了解company的扩展机制, 默认就是前面的backend会屏蔽后面的backend,你如果需要多个backend都使用,要使用:
((a b c) d e f g) 这种格式, 这样 abc三个backend就可以同时使用了。
好吧……受教了……但是这么弄做自动安装……
哎……我去学use-package去吧……
另外那种写法我是知道的……不过我想请教你一个问题
因为我的mac上面禁止安装关于C/C++的开发者工具,所以我写了个判断以使得irony不在mac上安装,
这么写会不会添加一个不存在的company-backends ?
总之……我目前又开始懒政了……
一切有分别的东西按照最大众的来……由于我只在一台机器上频繁写C,于是我就默认不装什么company-irony了……到那台机器上手动配就得了……
我真不想再写那么多判断了……我已经把那些看着碍事的以前的判断都清理走了……
总之,这件事情就这么结束吧……我以后也不会就此问题到这里来提问了……
总之我觉得与其费神还不如找个笨办法折中一下……毕竟我需要经常重置我的emacs(别问原因……就和禁播xx(不能说的事情)一样)……而且……
我本来就没打算做一个“全平台通用,全世界适用”的工程。
此外, completion-at-point-functions
也够用了……