之前读书学习时,代码量比较小,装个C/C++插件就可搞定,但面对比较大的工程,只安装这个插件就不起作用了,就需要建立符号链接。
1 基础环境C/C++”插件
“C/C++”插件是来自微软官方的 C/C++ 插件,必备的插件,是代码跳转、自动补全、代码大纲显示等功能的基础。
2 GNU Global工具
global管理工具分为两部分:
- vscode的gun global插件
- 本地的global工具
1、GNU Global插件工具
GNU Global是实现函数跳转的基础工具,VSCode中提供了“C/C++ GNU Global”插件:
2、本地GNU Global管理工具
- windows下载
地址:https://ftp.gnu.org/pub/gnu/global/
,安装最新版即可(至少要>=6.5版本)
目前最新版是6.6.6版,也可以直接使用“wget https://ftp.gnu.org/pub/gnu/global/global-6.6.6.tar.gz
”命令下载。
- Linux下载
直接在命令行输入sudo apt-get insall global
安装完成后,使用global --version命令即可查询到版本信息,说明安装成功:
[hezz@ubu global-6.6 16:46]$ global --version
global (GNU GLOBAL) 6.6
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、环境搭建
1、windows安装:
修改环境变量(添加解压出来的bin路径:如:E:\Software_Tool\Global\bin
)
注意:windows
安装的GNU Global
是免安装的,直接将其解压即可。
2、Linux安装:
在终端中使用which global;which gtags
命令得到工具的路径,此路径要添加到VSCode
的配置中:
[hezz@ubu global-6.6 16:48]$which global;which gtags
/usr/local/bin/global
/usr/local/bin/gtags
最后,点击上图中Global Executable
下的settings.json,打开配置文件,将前面提前获取的global和gtags工具路径添加进配置文件中:
注意:在亲自实验的过程中发现已经安装了global
,但是的通过global --version
可以看到该命令,但是输入global
,系统找不到global
命令。。这可能是因为没有安装gtags插件的原因,可以提前进行以下gtags
插件的安装,再次输入witch global
即可找到该命令。
4、配置
- Auto Update配置为“Disable”
这是因为我们的工程文件太大,一般的文件大于50MB就要禁用此项功能。
- completion配置为“Disable”
是为了启用VSCode自带的代码自动补全功能,因为不禁用global自动补全功能的话,有些变量输入时无法进行自动补全。
3 C++ Intellisense和Gtags插件
搜索C++ Intellisense和Gtags插件,并安装。
C++ Intellisense和Gtags插件都是依赖GNU Global的,可以实现函数跳转功能,如下图:
4 链接符号生成
安装完毕后,首先使用VSCode打开工程文件夹,然后有两种方法使用:
方法一:
方法二:
最终可以在我们的linux
内核工程中会创建GPATH、GRTAGS
和GTAGS
三个文件,(根据文件夹大小,扫描时间也有不同),待扫描完毕后,就可以使用函数跳转功能了