美文网首页
VS code 搭建基本的C/C++环境

VS code 搭建基本的C/C++环境

作者: 若昭 | 来源:发表于2019-07-31 15:49 被阅读0次

    在新的公司学会了使用 VS code,但感觉这个工具在查看 C++ 代码的时候跳转并不是很友好。通过网上查看资料,终于搭好了环境,特此记录下来,以供参考和学习。

    VS code 自带了很多 C/C++ 插件,公司大神说你把评分高的都安装一下。于是乱七八糟的装了一通,发现还是不能很好的支持 搜索函数引用( Find All References ) 这个功能。后来发现使用 "gtags + C++ Intellisense" 便可以解决。

    1. 安装 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.
    
    1. 安装插件 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

    1. 最后一步:
      在代码工程目录下,启动命令行运行 gtags 命令,会生成 GPATH/GRTAGS/GTAGS 这三个文件,则代表 整个安装过程成功了。
      你可以点击某个函数,右键选择 Find All References 找到所有的函数引用,或者直接用快捷键 shift+alt+f12 即可。
    2. 感谢:
      特别感谢这篇文章的介绍,最近在网上学习,看到很多大神总结的学习方法等等,感到前路漫漫,踏踏实实地走下去方能不负时光。

    相关文章

      网友评论

          本文标题:VS code 搭建基本的C/C++环境

          本文链接:https://www.haomeiwen.com/subject/juftdctx.html