如何使用c++ 的 ”." 或者 “->"的代码提示

使用Spacemacs已经快一年多了,了解了一些基本功能,感觉非常爽。 现在写 c++也可以通过 gtags 来导航。 代码提示还是用基本的company-mode. 之前也用过 ycmd 但是很 heavy。 不知道有没有其他的办法来支持 c++ 的操作符提示代码? 类似于Eclipse的功能?

大家有什么建议吗?

没写过C++,你说的这个功能是不是 company 的 company-auto-complete 和 company-auto-complete-chars

irony 比 ymcd 轻&好用

:point_right: https://emacs-china.org/search?q=irony%20order%3Alatest

我看了下 @guanghui.qu这篇回复中说:

company-clang 和 clang-irony 编译和配置都是非常复杂和繁琐的,我目前已经弃用了。 而且就算你配置好了,也容易出现补全不稳定的情况。

据我前两周试用结果看,并没有遇到上述问题(bug 修复了?),相反,我的感受是:

  • 安装配置:irony 比 ycmd 简单,且下载文件少,编译耗时短
  • 补全:irony 比 ycmd 更完整

效果图看这里:https://emacs-china.org/t/emacs-c/2575/3


我用的是 macOS 10.11,在安装过程中遇到下边这个错误:

error: irony-server is broken, good luck buddy! ~/.emacs.d/irony/bin/irony-server exited with status Trace/BPT trap: 5

改为手动编译 irony 就好了,参考这里:https://github.com/Sarcasm/irony-mode/wiki/Mac-OS-X-issues-and-workaround

1 个赞

参考 https://github.com/redguardtoo/cpputils-cmake

2 个赞

谢谢大家的建议,我去试试看

在windows下编译irony-server.exe 总失败,我用的是visual studio , 说是找不到clang-c/Index.h …我在想:能不能把别人编译好的irony-server.exe拿来用?自己编译实在搞不定