Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置( 二 )


或者,您可以从视图中“删除违反<rule>的内容”,而不必在此运行中打扰它 。这些菜单选项如上图所示 。
设置用于静态分析的编译命令行我提到过,对于您的实际项目,您可能需要再配置一个选项才能开始使用静态分析 。这与构建信息有关,更具体地说,与编译命令行有关 。
静态分析引擎需要知道要分析的每个文件的编译命令行 。根据项目的构建方式,可以应用不同的策略来提供此信息 。
让我们来看看我们的Timer示例如何发生 。
切换到“输出”面板,该面板仍应包含我们分析运行的输出 。
一直向上滚动 。在输出的第二行中,您应该看到扩展执行的C/C++test Standard命令行 。它将从“cpptestcli”开始 。有趣的部分在此命令行的末尾 。

Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置

文章插图
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置
在这种情况下,C/C++test静态分析引擎被告知“跟踪”构建以获取所需的编译命令行信息 。您也可以将此策略应用于其他构建系统 。效果很好:
Cpptestcli执行在-trace选项之后指定的build命令 。将自动扫描构建信息并将其保存到cpptest.bdf文件中,该文件现在在“Timer”文件夹中可见,并用作静态分析的输入 。
一切都很好,但是如果我想重新运行静态分析会怎样?好吧,使用默认设置,C/C++test将重新运行您的构建 。对于实际项目来说不是一个好的选择 。
更改方法如下:
  • 打开扩展名设置 。
  • 点击Ctr+Shift+P 。
  • 键入“C/C++test: Quick Start”,然后选择“打开设置...” 。(或使用状态栏中的C/C++test快速入门 。)
您将看到如下所示的扩展程序设置:
:
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置

文章插图
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置
构建信息配置是“命令行模式”设置的一部分 。在设置面板中,选择“计时器”(在“用户和工作区”旁边)以仅修改“计时器”文件夹的设置 。
转到命令行模式,移至末尾,然后自定义模式,将“-trace make clean all”替换为“-input ${workspaceFolder}/cpptest.bdf”,如下所示:
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置

文章插图
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置
使用此设置,无论何时运行静态分析,C/C++test都不会重新执行构建过程,而只是加载在第一次构建过程中生成的cpptest.bdf的内容,并且可以更快地执行分析 。您可以在此处了解有关构建数据文件的更多信息 。
设置CMake对于那些使用CMake进行项目的人来说,还有一个选项可以简化设置过程 。C/C++test可以将可由CMake自动生成的compile_commands.json文件作为分析的输入 。
在本文中为我们的Timer示例配置compile_commands.json文件生成 。
完成后,再访问设置面板一次(Ctr+Shift+P,键入“C/C++test: Quick Start”,然后选择“打开设置...”或使用“C/C++test”在状态栏中的快速入门) 。
转到命令行模式字段,然后如下所示进行修改:
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置

文章插图
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置
于是,您可以使用CMake构建自动生成的文件,并简化设置 。
扩展中还有一些其他有趣的选项和命令,我邀请您进行探索 。例如,您可以从CI/CD管道中生成的文件中导入静态分析结果,并在本地进行查看 。
希望本文对Visual Studio Code编辑器的C/C++test扩展有所帮助 。
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置

文章插图
Visual Studio代码扩展入门:用于C/C++静态分析的VS Code配置
点击“了解更多”申请免费试用




推荐阅读