IDE 介绍
本篇文章将从零开始,介绍如何搭建一个好用的 C++ IDE,主要特性:
- 支持代码语义跳转。
- 支持代码自动补全。
- 支持代码语法检查。
- 支持 cmake。
通用配置
下面是一些比较有用的设置,打开~/.emacs
文件,写入以下内容:
软件源设置
Emacs 24开始支持包管理器,为了加快软件包的下载速度,可以设置国内的软件源。
语义跳转
在 Mac OS,我们可以用 brew 去安装软件,首先更新一下软件源:
接着安装 rtags,rtags 是可以实现 C++ 语义跳转的工具。安装 rtags 之前需要安装 LLVM 和 cmake:
在我的电脑上,llvm的安装位置是/usr/local/Cellar/llvm/4.0.0_1/
。接着是安装 rtags:
还可以安装 clang-format,它可以格式化代码风格:
在.emacs
文件中加入 rtags 的配置:
rtags 在解析项目时,需要一个编译时数据库文件compile_commands.json
,这个文件描述了项目所用到的编译选项。如果项目是使用cmake编译的,那只需要给 cmake 提供一个-DCMAKE_EXPORT_COMPILE_COMMANDS=1
参数,就可以生成compile_commands.json
这个文件了。
下面的是在一个项目中使用 rtags 的例子:
下面是一些快捷键的作用:
M-.
在符号的声明和定义的位置之间跳转。M-,
查找项目中哪些地方引用到这个符号。M-;
根据文件名,自动补全需要查找的文件。C-.
根据符号的名称,查找所有定义这个符号名称的地方。C-,
根据符号的名称,查找所有引用这个符号名称的地方。
语法检查
语法检查使用 flycheck,在.emacs
加入下面的配置:
自动补全
自动补全使用 irony,打开~/.emacs
文件,写入以下内容:
除了上面的配置之外,还需要编译 irony,在 Emacs 中运行命令M-x irony-install-server
,将出现类似于下面的内容:
直接运行上面的命令,如果出现错误,可以试着给 cmake 增加下面的参数,然后再运行一次:
如无意外,那么就成功编译好了 irony 了。
另外可以使用 yasnippet 自动生成有用的代码片段,首先需要将代码片段下载到本地:
接着在 Emacs 的配置文件写入:
使用 Emacs 打开一个.cpp
文件,在文件中输入main
,然后按 Tab 键补全,如无意外,将出现:
外观配置
fantasque-sans 是一款非常好看的字体,可以在这里安装。安装好之后,在配置文件中加入:
设置主题:
开启透明窗口: