zoukankan      html  css  js  c++  java
  • VSCode配置C++编写环境

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/desert187/article/details/51025786
    VSCode跟Sublime很像,继承了Sublime的很多优点,包括编辑界面的鼠标多选操作。但是Sublime在C/C++方面比较欠缺(Clang插件在2.0以后不再维护),而VSCode是这方面的强者。
    同样的,VSCode默认的代码索引和补全都仅限于已打开的文档,幸运的是VSCode 0.10版本以后开始支持插件功能。其中较好的插件是C++ Intellisense。
    您可以在VSCode的编辑界面点击快捷键Ctrl+P呼出命令栏,然后输入
    ”ext install c++”+空格
    来查找C++ Intellisense插件,点击右侧的下载按钮,插件会自动安装并提示重启VScode。
    C++ Intellisense插件需要GNU Global的支持,这是一个类似CTag的,能够创建用于实现索引和自动补全功能所需的Tag的程序。可以到 http://adoxa.altervista.org/global/ 下载Windows版本的GNU Global,下载解压后,配置Win的系统PATH到GNU Global目录的/bin目录下,这个目录下包含gtag.exe等二进制文件。

    注意,C++ Intellisense只支持6.5以上版本的GNU Global。

    安装完成后找个下面这个文件:

     linux下: ~/.vscode/extensions/austin.code-gnu-global-0.2.2/out/src/features/referenceProvider.js

     windows下: /c/Users/Administrator/.vscode/extensions/austin.code-gnu-global-0.2.2/out/src/features

        我的是Administrator用户,所以在这个目录,请自行调整用户目录;

     GlobalReferenceProvider.prototype.provideReferences = function (document, position, options, token) {
              console.log(position);
              var word = document.getText(document.getWordRangeAtPosition(position)).split(/ ? /)[0];
              var self = this;
              return this._global.run(['--encode-path', '" "', '-rsax', word])
                  .then(function (output) {
                  console.log(output);
                 var bucket = new Array();

    将 “-rax” 修改为 “-rsax” 保存一下。

    到源代码目录下, 运行gtags 命令。

    重新打开一个C/C++源码目录,按Ctrl键并使鼠标指向某个函数,您将看到这个函数的提示信息,您还可以跳转到定义、查找引用(shift+F12)、自动补全、列出符号等(ctrl+P,输入@)。

    Go to definition

    Auto completion

    Find references



    List symbols


    记住,在修改完代码后需要重新在源码工程目录下键入“gtags”命令来重新建立Tags。如果觉得多开个cmd窗口很麻烦,可以安装VSCode的Shll插件。

    这些插件都有很详细的帮助,若需要查看帮助说明,在点击Ctrl+P快捷键后输入“ext”+空格,此时顶部命令栏将显示已安装的插件,点击右侧的“README”按钮即可连接到插件的官网帮助文档页面。
    ————————————————
    版权声明:本文为CSDN博主「lionchan187」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/desert187/article/details/51025786

  • 相关阅读:
    spring mvc 数据回显
    spring mvc 数据校验
    如何构建高性能web站点之:分布式缓存
    面霸吕国栋之:整理的一些面试题
    项目中我为什么用Mongodb取代Mysql
    对mysql存储性能优化的基本理解
    SQL语句面试题(IN、NOT IN、COUNT、GROUP BY)
    java面试题
    java中的网络通信编程之UDP篇
    java中的网络通信编程之TCP篇
  • 原文地址:https://www.cnblogs.com/xiangleili/p/11410689.html
Copyright © 2011-2022 走看看