Emacs C++ Auto Complete

Posted 深度操作系统

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Emacs C++ Auto Complete相关的知识,希望对你有一定的参考价值。

所谓 auto complete 即自动完成,就是智能猜测用户想输入的词,帮助用户自动输入,通常我们所说的 IDE 中的 Intellisense 也可用认为是某种自动完成。


auto-complete 是第三方开发者写的插件,提供自动完成支持,配合 Clang 可实现对 C、C++ 进行代码补全。


Clang 是一个 C、C++、Objective-c、Objective-C++ 编程语言的编译器前端。它采用底层虚拟机(LLVM)作为其后端,它的目标是替代 GCC,在苹果公司的赞助支持下进行开发,而且开源。


安装插件

在 github 下载 auto-complete 与 auto-complete-clang,丢到自己的配置目录;

或者通过 elpa (Emacs 的 “AppStore”),M-x package-install ,安装完成后 ~/.emacs.d/ 会生成 elpa 文件夹,elpa 里边是安装好的插件。


auto-complete-clang 配置



需要注意的是 ac-clang-flags 是头文件目录,根据系统的不同你的头文件目录也会不同,列出头文件目录的方法:


Emacs C++ Auto Complete


你会找到类似几行:


Emacs C++ Auto Complete


然后直接替换即可。


效果图



Qt 补全

添加 Qt 的头文件目录,一般在 /usr/include/x86_64-linux-gnu/qt5,然后通过 ac-clang-flags 这个变量中的设置。


其他方案

  • ycmd

  • cmake-ide

  • rtags


小结

自动完成框架,我认为唯一做得好的就是 auto-complete 了,加上 clang 后端语法解析引擎,其他都很普通。



【相关链接】




以上是关于Emacs C++ Auto Complete的主要内容,如果未能解决你的问题,请参考以下文章

C、C++ 和 JAVA 的 Emacs 中的 Eclipse 样式函数完成?

gocode+auto-complete搭建emacs的go语言自动补全功能

Emacs 启动时自动完成模式

如何在 Emacs 中禁用自动填充模式?

利用emacs调试C++程序教程

利用emacs调试C++程序教程