Main Content

在适用于 Visual Studio Code 的 Polyspace as You Code 中运行分析并审查结果

在配置 Polyspace as You Code 扩展后,您便可以运行分析并对任意检查结果进行修复或申述了。在继续使用本指南之前,请确认您已将 example.hppexample_source.cpp 添加到质量监控列表。

在 Visual Studio Code 中运行 Polyspace as You Code 分析

您可以通过以下方式运行分析。

  • 如果您设置了在保存时分析文件,请保存您编辑的文件来运行分析。

  • 右键点击某个文件并选择运行 Polyspace 分析

  • 手动将您的文件添加到质量监控列表,点击运行 Polyspace 分析按钮 run polyspace analysis icon 来分析您的文件。

点击 example_source.cpp 旁边的运行 Polyspace 分析来运行分析。

 手动运行分析

查看、修复检查结果或对其进行申述

Polyspace 运行分析后,如果不存在检查结果,则质量监控窗格中的文件名以绿色显示,如果存在检查结果,则文件名以红色显示。文件名右侧的数字指示检查结果的数量。在问题窗格中查看检查结果。通过点击质量监控窗格中的文件名打开问题窗格。

问题窗格以列表的形式显示所有检查结果。可使用问题窗格中的过滤器来搜索特定检查结果。每个检查结果都包含一个行号和列号,以指示该检查结果在您的代码中的位置。

对示例代码运行分析后,请在问题窗格中打开结果。使用过滤器搜索 A16-2-3。在第五行第五列有一个结果。

点击问题窗格中的检查结果以打开包含相应检查结果的文件。每个检查结果在文件中都以红色下划线标出。将鼠标悬停在带下划线的代码部分,以查看与问题关联的各个检查结果的列表。

在示例代码中,在第二行中添加以下 include 语句:

#include <cstdint>
保存此更改并运行另一个分析。第五行的 A16-2-3 错误不再存在。

启用自动分析后,您可以在代码编写过程中发现并修复检查结果。每次保存更改时,Polyspace 分析都会在后台启动,并在列表中显示各项新的检查结果或删除已修复的检查结果。

 查看和修复检查结果

对各个检查结果进行申述

您可以从问题窗格或从代码中检查结果的位置对检查结果进行申述。

点击问题窗格中的某个检查结果,可将红色的错误图标 error icon 更改为灯泡图标 light bulb icon。点击灯泡图标,并从菜单中选择适当的申述。这将向您的代码中添加一条注释,您可以修订该注释。添加申述会从问题窗格中删除该检查结果。要再次显示检查结果,请删除申述注释并执行分析。

 对检查结果进行申述

提供申述目录

您可以将预定义申述目录添加到 Polyspace as You Code 中。使用申述目录,您可以选择预先编写的申述,而无需手动键入每个申述注释。

打开 Visual Studio Code 设置并搜索 polyspace.justification.catalog。在文本框中输入相对于安装位置的申述目录路径。该目录必须采用 JSON 格式。如果您还没有申述目录,请使用示例 JSON 文件。

example_catalog.json

{
	"justifications": [
		{
		"family": "Defect",
		"acronym": "INT_ZERO_DIV",
		"comment": "This is my justification for division"
		},
		{
		"family": "Defect",
		"acronym": "INT_ZERO_DIV",
		"comment": "Alternative justification for division"
		}
	]
}

 提供申述目录

查看头文件检查结果

在分析源文件时,任何头文件检查结果都会显示在问题窗格中。如果某个头文件包含检查结果,则会在质量监控列表中的源文件旁边以红色 H 标出。

点击问题窗格中的某个头文件检查结果以转至包含该检查结果的头文件。要查找导致头文件检查结果的源文件分析,请点击问题窗格中检查结果旁边的灯泡图标 light bulb icon,然后点击相应选项以显示有关该检查结果的详细信息。

 查看头文件检查结果

检查潜在重复代码

Polyspace 可检查潜在的复制和粘贴错误、重复代码和其他代码重构机会。

问题窗格中点击可能发生复制粘贴错误,以在结果详细信息窗格中查看更多信息。展开回溯节点以定位出现的重复部分并查看更多详细信息。要在 Visual Studio Code 窥探窗口中查看潜在错误,请指向结果详细信息窗格中的可能发生复制粘贴错误,然后点击切换源代码窥探视图图标 toggle peek view in source icon

 检查潜在重复代码