原創|使用教程|編輯:鄭恭琳|2020-06-16 11:14:40.547|閱讀 852 次
概述:在此文章中,我將與您分享一些有關為Visual Studio Code編輯器配置和使用我們全新的C/C++test靜態分析擴展的提示。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在此文章中,我將與您分享一些有關為Visual Studio Code編輯器配置和使用我們全新的C/C++test靜態分析擴展的提示。
Visual Studio Code(VS Code)編輯器的普及正在迅速增長。在最新的Stack Overflow年度開發人員年度調查中,VS Code占據了開發環境和工具類別。
它快速、簡單、可自定義、可擴展,并且可以在三個領先的開發平臺上運行:Windows,Linux和Mac。它的受歡迎程度不僅限于使用JavaScript或TypeScript開發的團隊。我們經??吹剿?用于開發安全關鍵的C/C++軟件。
VS Code得到了市場上廣泛的擴展生態系統的支持。但是,C/C++靜態分析的擴展數量有限。
在發布之前,沒有什么可以幫助您遵守MISRA,CERT和AUTOSAR C++編碼標準的,而無需離開編輯器檢查結果。我的意思是,完整的標準支持Clang-Tidy很酷,但僅涵蓋了這些標準的一小部分。
我們決定填補這一空白,并為這個出色的編輯器提供擴展,以幫助您根據自己喜歡的編碼標準檢查您剛剛編寫的代碼,查看結果并修復或隱藏它們——所有這些均在VS Code內部。
在本文中,我將重點介紹C/C++的靜態分析,但我們還支持帶有Parasoft dotTEST靜態分析擴展功能的C#。
使用Visual Studio Code編輯器的Parasoft靜態分析擴展來啟動和運行的最簡單方法是通過Microsoft Marketplace。
啟動VS Code,然后轉到擴展程序(Ctrl + Shift + X)。在搜索字段中,鍵入“C++test”并安裝擴展。
安裝后,擴展程序將通過以下消息歡迎您:
該消息告知,為了運行帶有VS Code擴展名的靜態分析,您需要,這是C/C++test Visual Studio使用的命令行靜態分析引擎。代碼擴展。
后,只需將其解壓縮到您喜歡的任何目錄中,然后安裝試用(或完整)許可證。您的許可證需要包含命令行功能。您可以通過編輯分發主目錄中的cpptestcli.properties文件來安裝許可證,或將cpptestcli.properties文件放在您的主目錄中,然后在其中放置許可信息。
對于此處的實驗,我們使用C/C++test附帶的Timer示例項目。在VS Code中,切換到Explorer,然后使用“將文件夾添加到工作區...”將
要執行擴展的簡單配置,請在狀態欄中單擊C/C++test快速入門:
您會看到以下配置選項:
設置如下:
對于您的實際項目,您可能需要配置其他設置才能開始使用靜態分析。我們稍后再討論。現在,已經進行了這些設置,請在資源管理器中選擇Timer文件夾。
從上下文菜單中,選擇“C/C++test:分析所選文件…”。OUTPUT面板將開始顯示有關靜態分析后續步驟的信息。
分析完成后,“PROBLEMS”問題面板將顯示靜態分析報告的所有結果。它應如下所示:
您可以通過單擊“問題”面板中的行來分析發現。當您選擇一個發現時,C/C++test擴展將帶您到源代碼,您可以在其中查看報告問題的原因。
如果原因尚不清楚,請在“問題”面板中右鍵單擊結果,然后選擇“顯示<靜態分析規則>的文檔”。它將向您顯示詳細說明。
如果您希望忽略發現,請右鍵單擊并選擇“禁止違反
或者,您可以從視圖中“刪除違反
我提到過,對于您的實際項目,您可能需要再配置一個選項才能開始使用靜態分析。這與構建信息有關,更具體地說,與編譯命令行有關。
靜態分析引擎需要知道要分析的每個文件的編譯命令行。根據項目的構建方式,可以應用不同的策略來提供此信息。
讓我們來看看我們的Timer示例如何發生。
切換到“輸出”面板,該面板仍應包含我們分析運行的輸出。
一直向上滾動。在輸出的第二行中,您應該看到擴展執行的命令行。它將從“cpptestcli”開始。有趣的部分在此命令行的末尾。
在這種情況下,C/C++test靜態分析引擎被告知“跟蹤”構建以獲取所需的編譯命令行信息。您也可以將此策略應用于其他構建系統。效果很好:
Cpptestcli執行在-trace選項之后指定的build命令。將自動掃描構建信息并將其保存到cpptest.bdf文件中,該文件現在在“Timer”文件夾中可見,并用作靜態分析的輸入。
一切都很好,但是如果我想重新運行靜態分析會怎樣?好吧,使用默認設置,C/C++test將重新運行您的構建。對于實際項目來說不是一個好的選擇。
更改方法如下:
您將看到如下所示的擴展程序設置:
:
構建信息配置是“命令行模式”設置的一部分。在設置面板中,選擇“計時器”(在“用戶和工作區”旁邊)以僅修改“計時器”文件夾的設置。
轉到命令行模式,移至末尾,然后自定義模式,將“-trace make clean all”替換為“-input ${workspaceFolder}/cpptest.bdf”,如下所示:
使用此設置,無論何時運行靜態分析,C/C++test都不會重新執行構建過程,而只是加載在第一次構建過程中生成的cpptest.bdf的內容,并且可以更快地執行分析。您可以在了解有關構建數據文件的更多信息。
對于那些使用CMake進行項目的人來說,還有一個選項可以簡化設置過程。C/C++test可以將可由CMake自動生成的compile_commands.json文件作為分析的輸入。
在本文中為我們的Timer示例配置compile_commands.json文件生成。
完成后,再訪問設置面板一次(Ctr+Shift+P,鍵入“C/C++test: Quick Start”,然后選擇“打開設置...”或使用“C/C++test”在狀態欄中的快速入門)。
轉到命令行模式字段,然后如下所示進行修改:
于是,您可以使用CMake構建自動生成的文件,并簡化設置。
擴展中還有一些其他有趣的選項和命令,我邀請您進行探索。例如,您可以從CI/CD管道中生成的文件中導入靜態分析結果,并在本地進行查看。
希望本文對Visual Studio Code編輯器的C/C++test擴展有所幫助。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn