cquery visual studio code (vscode) call hierarchy / find reference / source insight的relation功能

其實有用過source insight就會很難再用其他IDE
因為對於不熟的code reference還有relation功能很強大
能夠快速熟悉不熟的code
尤其code寫得亂七八糟 一堆人協同寫作但又沒有標準coding style時
這時常發生在生活中

可是軟體動則上萬元
又不想用迷版軟體
有時覺得自以為聰明投機去做事
其實用迷版軟體就是在偷自己的薪水
但是遺憾的visual studio code卻沒有這個功能

很多人在github上反應要加上類似ecslipse的call hierachy功能
https://github.com/Microsoft/vscode-cpptools/issues/16
相關issue開很久
而且也很多相關feature request和issue
可是開發團隊好像沒有資源去implement
只是要把其他bug優先修掉而已

使用cquery language server 就可以補足這個缺失
https://github.com/cquery-project/cquery
不過cquery有點麻煩
他並沒有提供windows pre-build
導致要用還要一起build

Github Build Cquery

在windows下就很麻煩
因為open source project大家不同的平台相容性差異大
所以當初為了build code就花了一陣子
紀錄一下當初的build code過程

事前要先安裝一下visual studio community 2017
https://visualstudio.microsoft.com/zh-hant/thank-you-downloading-visual-studio/?sku=Community&rel=15
社群板可以給非商業授權使用

安裝Cmake
https://cmake.org/

安裝7zip
https://www.7-zip.org/

安裝git
https://git-scm.com/

設定相關環境變數


git clone https://github.com/cquery-project/cquery.git --recursive

cd cquery
cd cmake

cmake .. -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=release -DCMAKKE_EXPORT_COMPILE_COMMANDS=YES -DCMAKE_GENERATOR_PLATFORM=x64


cmake --build . --target install --config release


這樣就build成功
build 完成的bin
會放在

cquery\cmake\Release
Prebuild Bin
也將我build完成的放到google drive
可以直接下載


Visual Studio Code 使用 Cquery Call Hierarchy and Find reference

之後要將此路徑設到環境變數後即可已使用

安裝vscode的外掛套件cquery

安裝完成後右鍵就出現call hierachy選項
點下後左下角就出現熟悉的code tree / code map
可以方便trace code
也可以將這個功能在keymap中設定快速鍵

也可以利用Find Reference找到程式相關的點

就可以完全不用用迷版的source insight了

留言

熱門文章