vscode(visual studio code) 是微软推出的一款编辑器。免费,跨平台,最主要是轻便,消耗资源少, 成为码农阅读code的利器。
vscode可以安装第三方的一些插件,满足日常阅读source code的需求。但是这个插件有些小bug,导致效果不如意。下面跟随我一起挑战这些小bug,让你的tools转起来。
目标:
  1. 支持 Go to definition;
  2. 支持 Find all reference;
 步骤:
1. 安装 vscode;
2. 安装gtags(gnu global), 一款类似于cscope + ctags的工具, 网上教程比较多,在此不提供安装方法,请自行百度。
     有一点需要牢记,安装完后,需要加入环境变量中,确保在命令行模式下能好到gtags命令;
  $ 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.
3. 为vscode安装插件 C++ Intellisense

这个插件支持"Peek definition" && "Find all reference" 功能, 但是这个插件有个小bug, 安装完后并不能正常工作。而且作者很长时间没有更新这个插件了,无奈只能自己折腾一番。
 找个下面这个文件:
 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(/\r?\n/)[0];
          var self = this;
          return this._global.run(['--encode-path', '" "', '-rsax', word])
              .then(function (output) {
              console.log(output);
             var bucket = new Array();
将 “-rax” 修改为 “-rsax” 保存一下。
4. 到源代码目录下, 运行gtags 命令,会生成三个文件。 用 vs打开source code目录后,会看到这个三个文件

5.  到此为止,你的vscode可以正常work了, enjoy it.

注意事项:自己装GNU Global的时候没有让gtags执行完,所以导致还是提示同样的错误,这个命令执行时间比较长,所以需要耐心等待执行完即可成功。

vscode "find all references" 提示: no result found.的更多相关文章

  1. VScode 1.13 gocode提示dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected..

    在将VScode升级至 1.13后让升级gocode,在升级时报出如下错误 D:\go_work\src>go get -u -v github.com/mdempsky/gocode gith ...

  2. VSCode向上的代码提示消除

    VSCode虽然好用, 但是有些用户体验实在非常差, 比如这种往上面弹的类型提示... 在用户设置中增加: "editor.parameterHints": false

  3. vscode vue 去掉语法提示

    在vscode中,点击file->preferences->settings, 然后输入vetur, 滚到最下面,那个勾去掉,然后关闭,重启vscode就可以了

  4. Nodejs在VSCode下代码智能提示

    在学习Nodejs的过程中发现vscode下默认没有提示,在网上也测试了传统的一些方法,都不好用,最后找到这个npm install --save-dev @types/node

  5. vscode的vetur插件提示 [vue-language-server] Elements in iteration expect to have 'v-bind:key' directives错误的解决办法

    1.使用VS Code 出现如下问题,如图 Vue 2.2.0+的版本里,当在组件中使用v-for时,key是必须的. 2.更改vetur配置 vscode->文件->首选项->用户 ...

  6. vscode 配置import @ 路径提示及代码智提

    1.安装插件:Path Intellisense 2.配置: "path-intellisense.mappings": { "@": "${work ...

  7. vscode中nodejs智能提示

    简单粗暴,直接在项目中,运行npm install --save-dev @types/node命令,然后就ok了.

  8. vscode + electron 提示:无法连接到legacy请采用inspector解决办法

    首先,你的程序是可以直接运行的,在命令行中可以运行,只是在vsCode中,运行一段时间就被这个提示弹出. 解决方法: 先在launch.json 中加上"protocol":&qu ...

  9. vscode打开django项目pylint提示has not "object" member

    vscode 打开 django 项目提示 has not "object" member 是因为 Django 动态地将属性添加到所有模型类中,所以 ide 无法解析. 解决方案 ...

随机推荐

  1. 编译原理子cygwin的使用

    目的:熟悉cygwin环境的使用,学习使用lex写简单的词法分析程序,会在cygwin环境下使用flex调试lex写的程序 内容:使用cygwin下的flex工具将exam1.l和exam2.l编译并 ...

  2. 今日bug:error: invalid array assignment

    错误代码: struct STUD { int ID;//学号 ]; float score; }stud; STUD SS[]; student.open("student.dat&quo ...

  3. 巧用string中的contains巧解一道题目

    题目:求0—7所能组成的奇数个数.假设最高八位数字. package edu.yuliang.lianxiti50; /* 题目:求0—7所能组成的奇数个数. *程序分析:最少也是1位数,最多能组成8 ...

  4. php导出excel问题之解决

    phpExcel采用的版本:1.8.1.0   git地址:https://github.com/PHPOffice/PHPExcel.git 在windows7+nginx的环境中,选择Excel5 ...

  5. [工作日志] 2019-04-16 入参是list

    入参 {"vehicleList":[{"vehicleNo":"赣K81057","plateColor":" ...

  6. HslCommunication组件库使用说明 (转载)

    一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...

  7. mysql中文、英文别名排序问题,order by 关键字详解

    order by 关键字详解:   SELECT intcode AS 商品编码, product_title AS 名称, retailprice AS 零售价, purchaseprice AS ...

  8. 关于atom无限意外退出的一个原因

    atom很好用,也有开发直接使用这个工具进行编码,我经常使用,最近突然会报意外退出的错误. 再重启应用依然会报这个错,然后重启电脑后可以正常使用. 非常疑惑. 原来,是因为Shadowsocks开启的 ...

  9. Hadoop学习笔记2 - 第一和第二个Map Reduce程序

    转载请标注原链接http://www.cnblogs.com/xczyd/p/8608906.html 在Hdfs学习笔记1 - 使用Java API访问远程hdfs集群中,我们已经可以完成了访问hd ...

  10. Hadoop学习笔记1 - 使用Java API访问远程hdfs集群

    转载请标注原链接 http://www.cnblogs.com/xczyd/p/8570437.html 2018年3月从新司重新起航了.之前在某司过了的蛋疼三个月,也算给自己放了个小假了. 第一个小 ...