转眼间2019年即将过去,VS在Microsoft的老伙计们几十年如一日的优化完善下也更新到v16.4了,新版本的功能你熟悉了吗?
在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等产品限时放“价”,给你专属宠爱!点击下方图片查看活动详情↓↓↓

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!