Visual Studio Code C++扩展更新:clang-tidy

Visual Studio Code上的C++扩展迎来更新,这次带来的新功能是对静态分析框架clang-tidy的支持。clang-tidy是一个基于clang的C++静态分析工具,主要用来检测代码中的常见错误。通过对代码运行静态分析,可以找到潜在的Bug或者代码风格的不一致问题。对于clang-tidy的集成一直呼声较高,这次我们很高兴地宣布:clang-tidy它来了。

我需要安装clang-tidy吗?

不需要。clang-tidy直接集成在C++扩展中。但是如果你已经安装了clang-tidy(并且它位于你的环境变量路径中),则C++扩展会转而使用已经安装好的版本。你可以通过修改C++扩展的”Clang Tidy: Path”配置项来指定需要使用的clang-tidy执行文件。

如何在VS Code中运行clang-tidy?

如果需要手动运行clang-tidy,请打开”Command Palette (Ctrl + Shift + P)”,并输入”Run Code Analysis”。你可以直接在单个文件上执行clang-tidy,也可以在所有已打开的文件上执行,也可以在整个工作区上执行。如下图所示:

Visual Studio Code C++扩展更新:clang-tidy_第1张图片

如果有一些文件夹你不想在上面执行clang-tidy,则可以将它们的路径添加到”Clang Tidy: Exclude”配置项中(位于配置文件settings.json中的
C_Cpp.codeAnalysis.exclude)。

你也可以设置当打开或保存一个源文件时自动执行clang-tidy。可以在Command Palette (Ctrl + Shift + P)中选择”Preferences: Open Settings (UI)”进行相关设定,如下图所示:

然后搜索”code analysis”关键字来找到所有clang-tidy相关的设置项,然后将”Clang Tidy: Enabled”设置为true。

Visual Studio Code C++扩展更新:clang-tidy_第2张图片

请注意,你可以在工作区级别或者解决方案级别上进行clang-tidy全局设置。

可以通过查看蓝色的状态栏中的”火”图标来判断clang-tidy是否正在运行,如下图所示:

Visual Studio Code C++扩展更新:clang-tidy_第3张图片

如果需要暂停或取消clang-tidy执行,可以点击”火”图标并选择取消或暂停执行:

如何配置clang-tidy检查规则?

如果你的项目目录中有 .clang-tidy 配置文件,C++ 扩展将遵守该文件中定义的检查和选项。 如果你的工作区中有多个 .clang-tidy 配置文件,clang-tidy 将通过在它的上一级目录中搜索路径来使用最接近源文件的配置文件。 或者,你也可以使用 Clang Tidy: Config 设置指定 clang-tidy 配置。 Clang Tidy:Config 接受检查和检查选项作为 YAML/JSON 格式的字符串。

Visual Studio Code C++扩展更新:clang-tidy_第4张图片

如果源文件在其任何上一级目录中都没有 .clang-tidy 配置文件,并且 Clang Tidy: Config 属性留空,则回退配置(在
C_Cpp.codeAnalysis.clangTidy.fallbackConfig 中定义)将是 用于该文件。

你可以使用 Clang Tidy > Checks: Enabled 和 Clang Tidy > Checks: Disabled 设置启用和禁用更多检查。 除了 .clang-tidy 文件中的检查外,还会运行这些设置中定义的检查。

Visual Studio Code C++扩展更新:clang-tidy_第5张图片

选择添加项目会显示所有 clang-tidy 检查的列表。

Visual Studio Code C++扩展更新:clang-tidy_第6张图片

你可以向 Clang Tidy > Checks: Enabled 和 Clang Tidy > Checks: Disabled 设置添加任意数量的检查。

Visual Studio Code C++扩展更新:clang-tidy_第7张图片

如何将命令行参数传递给 clang-tidy?

如果你通过命令行选项传递给 clang-tidy,则可以在 Clang Tidy: Args 属性中指定这些选项。 Clang Tidy: Args 设置优先于编辑器中等效的 Clang Tidy 设置(例如 Clang Tidy > Checks: Enabled 和 Clang Tidy > Checks: Disabled)。

在编辑器中查看检查结果

clang-tidy 检查的结果(警告和错误)显示在问题面板中,并在相关代码部分下方显示为波浪线。

Visual Studio Code C++扩展更新:clang-tidy_第8张图片

单击“问题”面板中的问题会将您带到源文件中的问题。 要清除代码分析波浪线,请单击快速操作灯泡,然后选择清除代码分析波浪线。

Visual Studio Code C++扩展更新:clang-tidy_第9张图片

友情提示:如果你想取消对特定代码段的 clang-tidy 分析,可以在文件中添加 NOLINT、NOLINTNEXTLINE 和 NOLINTBEGIN至NOLINTEND之间的注释。

Clang-tidy设置

最新的 VS Code 设置列表请参考原文,这里就不贴出来了。它帮助你为工作区配置 clang-tidy。

总结

clang-tidy静态分析工具比我之前接触过的分析工具更加具有无缝使用体验,用来检查代码中的问题还是挺方便的。
代码工作正常之后,如果还有闲暇时间,可以像打磨一件艺术品(例如,我一直在更新的拓扑梅尔智慧办公平台Topomel Box)进行微小的优化,经过时间的积累,你得到的不只是一款能跑的软件,而更像一个可以放在玻璃后面的艺术品。
有时候,做个写码匠人,不急不躁,挺好的。

Visual Studio Code C++扩展更新:clang-tidy_第10张图片

你可能感兴趣的:(Visual,Studio,软件开发,VisualStudio,windows)