让VSCode支持 "Find all reference"

   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.

### 如何在 VSCode 中通过 CMake 配置 dlib 的开发环境 要在 Visual Studio Code (VSCode) 中使用 CMake 来配置 dlib 开发环境,需遵循以下方法: #### 1. 安装必要的依赖项 确保已安装所需的工具链和库。对于 Linux 用户来说,可能需要安装 `cmake` 和 `g++` 编译器以及 pthread 库支持。如果遇到链接错误(如 `undefined reference to 'pthread_create'`),则表明未正确链接 pthread 库[^1]。 可以通过运行以下命令来安装这些依赖项: ```bash sudo apt-get update sudo apt-get install cmake g++ libboost-all-dev ``` #### 2. 下载并构建 dlib 从 GitHub 上获取最新版本的 dlib 并解压源码包。可以执行如下命令下载项目文件: ```bash git clone https://github.com/davisking/dlib.git cd dlib mkdir build && cd build cmake .. make -j$(nproc) sudo make install ``` 此过程会编译 dlib 并将其安装到系统目录中。 #### 3. 创建一个新的 CMakeLists.txt 文件用于集成 dlib 到您的工程 假设您正在创建一个新项目,则可以在项目的根目录下编写自己的 `CMakeLists.txt` 文件。以下是基本模板的一个例子: ```cmake cmake_minimum_required(VERSION 3.10) project(MyDLibProject LANGUAGES CXX) find_package(dlib REQUIRED) add_executable(example example.cpp) target_link_libraries(example PRIVATE dlib::dlib) ``` 这里的关键在于调用了 `find_package()` 函数找到已经安装好的 dlib,并且利用目标链接函数关联它。 #### 4. 设置 VSCode 工作区以便于调试和支持 IntelliSense 功能 打开工作空间后,在 `.vscode/settings.json` 添加适当的设置以增强体验效果。例如指定正确的编译器路径或者启用某些插件特性等。 另外还需要定义 launch configuration (`launch.json`) 方便启动程序实例化测试功能模块。 最后一步就是验证整个流程是否成功运作起来啦!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值