轉帖|使用教程|編輯:陳津勇|2019-10-21 14:05:22.067|閱讀 2000 次
概述:轉眼間2019年即將過去,VS在Microsoft的老伙計們幾十年如一日的優化完善下也更新到v16.4了,新版本的功能你熟悉了嗎?
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在VS2019 v16.4 Preview 1中,微軟開發團隊為C++代碼分析功能帶來了重量級更新,其中包括:clang-tidy原生支持。這里所說的clang-tidy,實際上是LLVM團隊開發的一個基于Clang的“linter”工具。它帶來了多項代碼改進:語言的現代化及標準符合性、靜態分析和自動格式化等。
安裝Clang工具
為了在Visual Studio中運行clang-tidy,我們首先需要在系統中安裝Clang工具。在安裝或修改Visual Studio時,在“C++桌面開發”工作集中選擇“C++ Clang tools for Windows”即可安裝Clang工具,如下圖所示:
配置clang-tidy
默認情況下,代碼分析工具和你所使用的平臺工具集和編譯器有關。例如,如果你使用MSVC(Visual Studio 2019),則將使用Microsoft Code Analysis作為代碼分析工具,如果使用LLVM/clang-cl編譯器,則會使用clang-tidy。
在編寫代碼的過程中,代碼分析工具將在后臺運行,其作用范圍僅限編輯器中已經打開的文檔。默認情況下,它將不會在編譯期作用在所有的源文件上。這點需要注意。
MSBuild工程
開發團隊對工程屬性中的[代碼分析]節點進行了重新設計。在新版本中,你可以更加簡單的配置每個工程使用的工具。在[常規]選擇卡下,你可以選擇當執行代碼分析時,具體使用哪一個工具。如下圖所示:
在[Microsoft]結點下,你可以配置MSVC代碼分析引擎的規則集合。類似的,你也可以在[Clang-Tidy]選項卡下指定要檢查的clang-tidy檢查項目。
可以通過修改.clang-tidy文件來做更進一步的配置,工具將會嘗試讀取這個文件中的配置值。你可以在這個文件中指定更多的更加細節化的配置項。例如Checks、 HeaderFilterRegex和SystemHeaders等。
CMake工程
在以Windows為目標平臺的CMake配置中,你可以通過在CMakeSettings.json文件中指定”clangTidyChecks”關鍵字的值來做自定義檢查。從Preview 2開始,我們也可以配置enableMicrosoftCodeAnalysis和enableClangTidyCodeAnalysis來指定哪一個工具可用。如下圖所示:
當前并不支持通過在IDE的CMakeLists.txt文件中指定CMAKE__CLANG_TIDY變量來進行配置。另外,CMake中的Clang-Tidy支持僅Windows目標平臺,也就是說,目前還不支持WSL或者遠程Linux主機作為目標平臺。
代碼分析可以在以下路徑中做進一步的配置:Tools > Options > Text Editor > C/C++ > Advanced.
錯誤列表和編輯器集成
執行clang-tidy代碼分析的結果將會在VS的錯誤列表中以警告的方式來呈現,類似于編譯錯誤一樣,你可以點擊警告項目進行代碼導航。在[分類]這一列中,你可以獲取有關當前警告所屬的檢查類別,例如:cppcoreguidelines, readability, or clang-diagnostic。
靜態分析的檢查警告,也會以波浪線形式呈現在你的編輯器中。這樣在編輯代碼的時候,就可以容易地發現當前編寫代碼的錯誤和上下文,便于快速改正。
下一步工作
當前VS的UI并不能支持指定Visual Studuio使用一個自定義的clang-tidy.exe。這個特性在一些場景下比較常用。例如,如果你想自定義一套自己的檢查規則,微軟會評估這個特性并考慮是否將它作為一個選項來提供。另外,微軟還在開發一些其他特性,例如可以在執行clang-tidy時指定–fix選項,這樣你就可以在檢查代碼的同時,快速進行修正。
*想要獲得 Visual Studio 更多資源或正版授權的朋友,可以咨詢了解哦~
慧都網·1024程序員節,DevExpress、MyEclipse、Axure RP、Aspose、FastReport等產品限時放“價”,給你專屬寵愛!點擊下方圖片查看活動詳情↓↓↓
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: