【工具】VS Code使用global插件实现代码跳转

  • 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
  • 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
  • 🌐系列专栏:善假于物
  • 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
  • 如需转载请参考转载须知!!

VS Code使用global插件实现代码跳转

    • VS Code上安装GNU Global插件安装
    • 主机上安装GNU Global工具
      • Windows系统
      • Linux环境,
    • VS Code的配置
      • 找到global和gtags的位置
      • 修改setting.json文件
    • 使用global
      • 利用VS Code
      • 利用gtags、global命令
    • 参考资料

VS Code上安装GNU Global插件安装

  • 安装C/C++ GNU Global插件:
    在这里插入图片描述

主机上安装GNU Global工具

Windows系统

  • 可直接从附录网站下载
  • 注:需将global的bin路径添加到系统环境变量Path中。

Linux环境,

  • 可通过源码安装:
# 安装编译环境 
sudo yum groupinstall -y "Development Tools" 
sudo yum install -y ncurses-devel # 
#下载tar包
wget https://ftp.gnu.org/pub/gnu/global/global-6.6.10.tar.gz
# 解压tar包 
tar -zxvf global-6.6.10.tar.gz 
# 编译安装 
cd global-6.6.10 
./configure 
make 
sudo make install
  • 或通过类似下面命令进行安装:
sudo apt install global
sudo yum install global
  • 安装后,可通过下面命令确认安装结果及版本号:
gtags --version

VS Code的配置

找到global和gtags的位置

  • 对于Windows系统,安装的时候可以选择的的;
  • 对于Linux系统,可利用下面命令查看:
which global
which is global

修改setting.json文件

  • 根据上一步的路径,修改配置文件。
  • 对Linux系统:
"gnuGlobal.globalExecutable": "/usr/bin/global",
"gnuGlobal.gtagsExecutable": "/usr/bin/gtags", 
"gnuGlobal.encoding": "Big5",
  • 对Windows系统:
{"gnuGlobal.globalExecutable": "C:\\global\\global.exe","gnuGlobal.gtagsExecutable": "C:\\global\\gtags.exe""gnuGlobal.encoding": "Big5",
}

使用global

利用VS Code

  • 先按F1,键入Global: Show GNU Global Version,确认是否正确安装及版本号;
  • 再按F1,输入Global:Rebuild Gtags Database(此时更新的是在vscode打开得所有文件夹),执行完后,会生成三个文件:GTAGS、GRTAGS、GPATH(这三个文件是Global 的tag文件,GTAGS是定义的数据库,GRTAGS是引用的数据库,GPATH是路径的数据库)。
  • tag文件生成成功后,F12查找函数定义可直接跳转。
  • 如果代码频繁更新,则增加gnuGlobal.autoUpdate为true即可。

利用gtags、global命令

# 切到代码目录
cd xxxx# 使用gnu global建立索引(生成这三个文件:GTAGS、GRTAGS、GPATH)
gtags# 打开vscode
code .# 修改代码后,更新索引,则执行
gtags -i   #Update tag files incrementally.
globals -u #Update tag files incrementally.# 根据命令行查询,执行:
## 函数相关
global -x xx #[查询xx函数,要求完整名称,如函数名]
global -c xx #[查询xx开头的函数名,如无,则列出所有函数名]
global -x xx --color #[查询xx开头的函数,如无,则列出所有函数名]
global -x '^Create.*File' --color#[模糊查找,满足正则表达式Create.*File的函数]##字面量相关
global -g "connected faild"  src/xxx_func.c  #[在xxx_func.c文件中查找connected faild字符串]# 命令帮助
global --help
gtags  --help

参考资料

  • Windows地址下载:http://adoxa.altervista.org/global/
  • Linux系统下载:https://ftp.gnu.org/pub/gnu/global/global-6.6.10.tar.gz
  • global官网:https://www.gnu.org/software/global/
  • VS Code global插件:https://marketplace.visualstudio.com/items?itemName=jaycetyle.vscode-gnu-global

如本文对你有些许帮助,欢迎大佬支持我一下,您的支持是我持续创作的不竭动力
支持我的方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

粤港联动,北斗高质量国际化发展的重要机遇

今年是香港回归27周年,也是《粤港澳大湾区发展规划纲要》公布5周年,5年来各项政策、平台不断为粤港联动增添新动能。“十四五”时期的粤港澳大湾区,被国家赋予了更重大的使命,国家“十四五”《规划纲要》提出,以京津冀…

时序约束(二): input delay约束和output delay约束

一、input delay约束 在千兆以太网数据收发项目中,RGMII的数据输入方式为DDR,源同步输入方式,可以用之前提到的分析模型进行约束。 在时序约束原理中我们提到,input delay约束的就是发射沿lunch到数据有效的延时,根据…

Linux:网络基础1

文章目录 前言1. 协议1.1 为什么要有协议?1.2 什么是协议? 2. 网络2.1 网络通信的问题2.2 网络的解决方案——网络的层状结构2.3 网络和系统的关系2.4 网络传输基本流程2.5 简单理解IP地址2.6 跨网络传输 总结 前言 在早期的计算机发展中,一开…

【华为战报】5月、6月HCIP考试战报!

华为认证:HCIA-HCIP-HCIE 点击查看: 【华为战报】4月 HCIP考试战报! 【华为战报】2月、3月HCIP考试战报! 【华为战报】11月份HCIP考试战报! 【HCIE喜报】HCIE备考2个月丝滑通关,考试心得分享&#xff…

7.x86游戏实战-C++实现跨进程读写-跨进程写内存

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:6.x86游戏实战-C实现跨进程读写-通过基址读取人物状态标志位 上一个内容通过基…

深层神经网络

深层神经网络 深层神经网络 深度神经网络(Deep Neural Networks,DNN)可以理解为有很多隐藏层的神经网络,又被称为深度前馈网络(DFN),多层感知机(Multi-Layer perceptron&#xff0c…

ghost恢复?电脑文件恢复如何操作?电脑数据恢复工具!5款!

在数字化时代,电脑数据的价值日益凸显。然而,数据丢失、误删、系统崩溃等问题时有发生,给个人和企业带来巨大损失。本文将为您详细介绍Ghost恢复方法,同时推荐五款高效的电脑数据恢复工具,助您轻松应对数据丢失的困扰。…

使用归档实用工具怎么打不开 mac上好用的解压软件 归档实用工具打不开怎么回事 mac 归档实用工具 苹果电脑好用的压缩软件有哪些

Mac系统自带的 “归档实用工具”,集成在系统右键菜单中,包含了文件压缩和压缩包解压功能。很多mac小伙伴会发现有些文件使用归档实用工具打不开。由于专利和软件开源问题,该工具目前仅支持ZIP格式的压缩和解压。同时,对于一些在Wi…

Microsoft SQL Server 2019安装和设置用户密码

1、免费下载两个安装包 SQL2019-SSEI-Dev 地址:https://www.microsoft.com/en-us/sql-server/sql-server-downloads SSMS-Setup-CHS 地址:https://aka.ms/ssmsfullsetup 安装具体不在阐述了,可以参考我这篇文章:SQL Server 2019安装详细教程 2、以W…

Cookie的默认存储路径以及后端如何设置

问题场景 最近在写一个前后端分离的项目,需要跨域,前端开发同学遇到一个问题一直报错,本质上就是后端返回的cookie中的sessionID在前端发送http请求时无法被请求自动携带,每次htttpRequest都被后端识别为一个新的session&#xf…

昇思25天学习打卡营第04天 | 数据集 Dataset

昇思25天学习打卡营第04天 | 数据集 Dataset 文章目录 昇思25天学习打卡营第04天 | 数据集 Dataset数据集加载数据集迭代数据集的变换shufflemapbatch 自定义数据集可随机访问数据集对象可迭代数据集生成器 总结打卡 数据集Dataset对原始数据进行封装、变换,为神经网…

【Rust入门教程】hello world程序

文章目录 前言Hello World程序运行总结 前言 对于学习任何一种新的编程语言,我们都会从编写一个简单的Hello World程序开始。这是一个传统,也是一个开始。在这篇文章中,我们将一起学习如何在Rust中编写你的第一个程序:Hello Worl…

【C语言内存函数】

目录 1.memcpy 使用 模拟实现 2.memmove 使用 模拟实现 3.memset 使用 4.memcmp 使用 1.memcpy 使用 void * memcpy ( void * destination, const void * source, size_t num );目的地址 源地址 字节数 destination:指向要复制内…

20240703 每日AI必读资讯

🤖爆火Character AI惨遭阉割 美国00后集体“失恋” - Character AI曾是00后最火爆的社交软件,但用户发现对话模型变得冷淡,失去趣味。 - 用户流失严重,面临成本高、竞争激烈的挑战,甚至遭到挖角。 - 尽管困难重重&a…

最小步数模型——AcWing 1107. 魔板

最小步数模型 定义 最小步数模型通常是指在某种约束条件下,寻找从初始状态到目标状态所需的最少操作或移动次数的问题。这类问题广泛存在于算法、图论、动态规划、组合优化等领域。具体来说,它涉及确定一个序列或路径,使得按照特定规则执行…

jenkins在使用pipeline时,为何没有方块形视图

项目场景: 安装完Jenkins时后,通过pipeline创建的项目任务。 问题描述 在立即构建后,没有显示每个阶段的视图。 原因分析: 原因是,刚安装的Jenkins,这个视图不是Jenkins自带的功能,而必须安装…

EDA 虚拟机 Synopsys Sentaurus TCAD 2017.09 下载

下载地址(制作不易,下载使用需付费,不能接受的请勿下载): 链接:https://pan.baidu.com/s/1327I58gvV1usWSqSrG7KXw?pwdo03i 提取码:o03i

Boss直聘,无良厂商,乱封号

耽误招工作,瞎吉儿封号 哥们单身 需要女生多的公司 问一下都不行,什么尿性 直接就给你封了 装什么呢 辣鸡boss 倒闭吧赶紧 我是狗子,希望你倒闭!

Radxa 学习摘录

文章目录 1、参考资料2、硬件知识CIF 和 ISP 3、shell4、交叉编译工具链5、问题6、DTS7、驱动 1、参考资料 技术论坛(推荐) 官方资料下载 wiki资料 u-boot 文档 u-boot 源码 内核文档 内核源码 原理图 radxa-repo radxa-build radxa-pkg radxa-doc…

寻找最适合你的交易风格

与Eagle Trader一起,您将拥有一位坚不可摧的合作伙伴,为您的交易之路增添坚实信心,并重塑交易体验的每一个细节。我们量身定制的交易环境,更能让您精准捕捉并驾驭符合您独特交易风格的卓越条件,让交易之旅更加自由畅快…