- 🐚作者簡介:花神廟碼農(專注于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
如本文對你有些許幫助,歡迎大佬支持我一下,您的支持是我持續創作的不竭動力
支持我的方式