在新的公司学会了使用 VS code,但感觉这个工具在查看 C++ 代码的时候跳转并不是很友好。通过网上查看资料,终于搭好了环境,特此记录下来,以供参考和学习。
VS code 自带了很多 C/C++ 插件,公司大神说你把评分高的都安装一下。于是乱七八糟的装了一通,发现还是不能很好的支持 搜索函数引用( Find All References )
这个功能。后来发现使用 "gtags + C++ Intellisense" 便可以解决。
- 安装 Gtags:
1.1 下载安装包
Gtags 官网提供了各种版本的安装包,我们只需要 download 针对Windows的版本即可 DOS and Windows 32 version,直接选择 GLOBAL 6.6.3 Win32 (938k)。
1.2 安装以及配置
下载到的文件是一个 zip 压缩包,直接将其解压到安装目录下。安装目录的选择根据个人喜好即可,我是公司电脑,所以直接装在了 C 盘。
接着需要配置 Gtags 环境变量C:\Program Files (x86)\glo663wb\bin
(此路径为 gtags.exe 这份文件所在的路径)到 Windows 的 Path 中即可。
1.3 验证
Windows 用户直接在命令行运行gtags --version
,如果能获取到正确的信息即可。
我的输出为:
$ gtags --version
gtags (GNU GLOBAL) 6.6.2
Copyright (c) 1996-2017 Tama Communications Corporation
License GPLv3+: GNU GPL version 3 or later<http://www.gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
- 安装插件 C++ Intellinsense:
2.1 安装
直接通过 VS code 的Extensions ( ctrl+shift+x)
功能安装。安装完成后可以学习下 C++ Intellinsense 的 README,其中详细的介绍了该插件如何使用以及所需要的依赖,还是比较详细的。
2.2 修改配置
这篇文章提醒需要修改一处配置文件方能正常使用,Windows 下该文件在C:\Users\Administrator\.vscode\extensions\austin.code-gnu-global-0.2.2\out\src\features
目录中,将referenceProvider.js
这份文件中的函数
GlobalReferenceProvider.prototype.provideReferences = function (document, position, options, token) {
console.log(position);
var word = document.getText(document.getWordRangeAtPosition(position)).split(/\r?\n/)[0];
var self = this;
return this._global.run(['--encode-path', '" "', '-rsax', word])
.then(function (output) {
console.log(output);
var bucket = new Array();
try {
if (output != null) {
output.toString().split(/\r?\n/)
.forEach(function (value, index, array) {
var result = self._global.parseLine(value);
if (result == null)
return;
bucket.push(new vscode.Location(vscode.Uri.file(result.path), new vscode.Range(new vscode.Position(result.line, 0), new vscode.Position(result.line, 0))));
});
}
}
catch (ex) {
console.error("Error: " + ex);
}
return bucket;
});
};
中的该行 return this._global.run(['--encode-path', '" "', '-rax', word])
的配置 -rax
改成 -rsax
。
- 最后一步:
在代码工程目录下,启动命令行运行gtags
命令,会生成GPATH/GRTAGS/GTAGS
这三个文件,则代表 整个安装过程成功了。
你可以点击某个函数,右键选择Find All References
找到所有的函数引用,或者直接用快捷键shift+alt+f12
即可。 - 感谢:
特别感谢这篇文章的介绍,最近在网上学习,看到很多大神总结的学习方法等等,感到前路漫漫,踏踏实实地走下去方能不负时光。