- 🐚作者简介:花神庙码农(专注于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
如本文对你有些许帮助,欢迎大佬支持我一下,您的支持是我持续创作的不竭动力
支持我的方式