【工具】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.pswp.cn/diannao/39381.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39381.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/39381.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

粵港聯動,北斗高質量國際化發展的重要機遇

今年是香港回歸27周年,也是《粵港澳大灣區發展規劃綱要》公布5周年,5年來各項政策、平臺不斷為粵港聯動增添新動能。“十四五”時期的粵港澳大灣區,被國家賦予了更重大的使命,國家“十四五”《規劃綱要》提出,以京津冀…

時序約束(二): input delay約束和output delay約束

一、input delay約束 在千兆以太網數據收發項目中,RGMII的數據輸入方式為DDR,源同步輸入方式,可以用之前提到的分析模型進行約束。 在時序約束原理中我們提到,input delay約束的就是發射沿lunch到數據有效的延時,根據…

Vue 3中 <script setup> 與生命周期鉤子函數的詳細解析

Vue 3中 <script setup> 與生命周期鉤子函數的詳細解析 Vue 3 引入了 <script setup> 語法糖&#xff0c;這是一種簡化和集成組件邏輯的新方式。盡管 <script setup> 簡化了組件的編寫&#xff0c;但仍然可以利用 Vue 提供的生命周期鉤子函數來管理組件的生…

【光伏開發】光伏項目開發流程

光伏項目作為可再生能源領域的重要組成部分&#xff0c;其開發過程涉及多個環節&#xff0c;從項目初期的可行性研究到后期的運營維護&#xff0c;每一步都至關重要。本文將按照項目確認、前期階段、中期階段、后期階段的順序&#xff0c;詳細介紹光伏項目的開發流程。 一、項…

Rust 基礎教程

Rust 編程語言教程 Rust是一門注重安全、并發和性能的系統編程語言。本文將從Rust的基本語法、常用功能到高級特性&#xff0c;詳細介紹Rust的使用方法。 目錄 簡介環境配置基礎語法 變量和常量數據類型函數控制流 所有權和借用 所有權借用 結構體和枚舉 結構體枚舉 模塊和包…

一文搞懂 java 線程池:基礎知識

你好&#xff0c;我是 shengjk1&#xff0c;多年大廠經驗&#xff0c;努力構建 通俗易懂的、好玩的編程語言教程。 歡迎關注&#xff01;你會有如下收益&#xff1a; 了解大廠經驗擁有和大廠相匹配的技術等 希望看什么&#xff0c;評論或者私信告訴我&#xff01; 文章目錄 …

Linux:網絡基礎1

文章目錄 前言1. 協議1.1 為什么要有協議&#xff1f;1.2 什么是協議&#xff1f; 2. 網絡2.1 網絡通信的問題2.2 網絡的解決方案——網絡的層狀結構2.3 網絡和系統的關系2.4 網絡傳輸基本流程2.5 簡單理解IP地址2.6 跨網絡傳輸 總結 前言 在早期的計算機發展中&#xff0c;一開…

【云計算】阿里云、騰訊云、華為云平臺數據庫對比

目錄 一、云數據庫關鍵信息調研對比 二、詳細功能 1、阿里云RDS 2、騰訊云RDS 3、華為云RDS 一、云數據庫關鍵信息調研對比 云平臺支持數據庫部署對比支持功能備注阿里云 Mysql、Postgresql等 特有數據庫&#xff1a;PolarDB&#xff0c;適配mysql 基礎-單節點賬號管…

實現漸變字體的方案

需要注意&#xff0c;這個切圖是把一整塊&#xff0c;都切出來做的。所以需要用span&#xff0c;不能是div 還有描邊的話&#xff0c;scale會有邊距縮放的問題&#xff0c;描邊就用font weight 來實現 style{{ background: "var(--Linear, linear-gradient(96deg, #fff…

【華為戰報】5月、6月HCIP考試戰報!

華為認證&#xff1a;HCIA-HCIP-HCIE 點擊查看&#xff1a; 【華為戰報】4月 HCIP考試戰報&#xff01; 【華為戰報】2月、3月HCIP考試戰報&#xff01; 【華為戰報】11月份HCIP考試戰報&#xff01; 【HCIE喜報】HCIE備考2個月絲滑通關&#xff0c;考試心得分享&#xff…

Python序列化和反序列化

一.序列化和反序列化 在Python中&#xff0c;序列化&#xff08;Serialization&#xff09;和反序列化&#xff08;Deserialization&#xff09;是處理對象數據的過程&#xff0c;主要用于對象的存儲或網絡傳輸。 序列化&#xff08;Serialization&#xff09; 序列化是將Pyth…

7.x86游戲實戰-C++實現跨進程讀寫-跨進程寫內存

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 本次游戲沒法給 內容參考于&#xff1a;微塵網絡安全 上一個內容&#xff1a;6.x86游戲實戰-C實現跨進程讀寫-通過基址讀取人物狀態標志位 上一個內容通過基…

深層神經網絡

深層神經網絡 深層神經網絡 深度神經網絡&#xff08;Deep Neural Networks&#xff0c;DNN&#xff09;可以理解為有很多隱藏層的神經網絡&#xff0c;又被稱為深度前饋網絡&#xff08;DFN&#xff09;&#xff0c;多層感知機&#xff08;Multi-Layer perceptron&#xff0c…

ghost恢復?電腦文件恢復如何操作?電腦數據恢復工具!5款!

在數字化時代&#xff0c;電腦數據的價值日益凸顯。然而&#xff0c;數據丟失、誤刪、系統崩潰等問題時有發生&#xff0c;給個人和企業帶來巨大損失。本文將為您詳細介紹Ghost恢復方法&#xff0c;同時推薦五款高效的電腦數據恢復工具&#xff0c;助您輕松應對數據丟失的困擾。…

使用歸檔實用工具怎么打不開 mac上好用的解壓軟件 歸檔實用工具打不開怎么回事 mac 歸檔實用工具 蘋果電腦好用的壓縮軟件有哪些

Mac系統自帶的 “歸檔實用工具”&#xff0c;集成在系統右鍵菜單中&#xff0c;包含了文件壓縮和壓縮包解壓功能。很多mac小伙伴會發現有些文件使用歸檔實用工具打不開。由于專利和軟件開源問題&#xff0c;該工具目前僅支持ZIP格式的壓縮和解壓。同時&#xff0c;對于一些在Wi…

深入探討數據結構:基礎理論與應用實踐

前言 數據結構是計算機科學的重要組成部分&#xff0c;是編程與算法設計的基礎。本文將系統地介紹數據結構的基礎概念、常見類型、具體實現及其在實際開發中的應用&#xff0c;幫助讀者深入理解這一核心領域。 一、數據結構的基本概念 數據結構指的是計算機中數據的組織、管…

推廣旅游卡項目,一個月創收十幾萬,為何說旅游卡項目堪稱盈利利器?

推廣旅游卡項目&#xff0c;一月個創收十幾萬&#xff0c;為何說旅游卡項目堪稱盈利利器&#xff1f; 其精髓恰在于那十六字真言&#xff1a;即時收益&#xff0c;高額利潤&#xff0c;操作簡便&#xff0c;粉絲友好。接下來&#xff0c;我將從推廣人員的視角&#xff0c;為您…

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 安裝具體不在闡述了&#xff0c;可以參考我這篇文章&#xff1a;SQL Server 2019安裝詳細教程 2、以W…

開發常見的http狀態碼.——400,401,403,404,500,501,503,狀態碼大全!

目錄 一. 1開頭的(臨時信息響應碼) 二. 2開頭的(成功信息碼) 三. 3開頭的(重定向信息碼) 四. 4開頭的(客戶端錯誤信息碼) 五. 5開頭的(服務器內部錯誤信息碼) 一. 1開頭的(臨時信息響應碼) 100&#xff1a;繼續請求。示意請求者應當繼續發送請求&#xff0c;客戶端返回此碼…

Cookie的默認存儲路徑以及后端如何設置

問題場景 最近在寫一個前后端分離的項目&#xff0c;需要跨域&#xff0c;前端開發同學遇到一個問題一直報錯&#xff0c;本質上就是后端返回的cookie中的sessionID在前端發送http請求時無法被請求自動攜帶&#xff0c;每次htttpRequest都被后端識別為一個新的session&#xf…