【于2019年11月6日更新】 –删除了“设置:安装叮当工具”部分;从VisualStudio2019版本16.4预览版3开始,这不再是必需的。
Visual Studio 2019版本16.4预览版1 对C++代码分析经验有重大改进:本机支持 叮当声 ,一个由LLVM项目开发的基于叮当声的“linter”工具,它提供了各种代码改进,如现代化和标准一致性、静态分析和自动格式化。有关在项目中使用Clang/LLVM作为编译器的更多信息,请参阅我们过去在上的博客文章 MSBuild项目的Clang/LLVM 和 对于CMake项目 .
配置叮当声
代码分析默认为用户指定的相应工具 平台工具集 和编译器:如果使用MSVC(“Visual Studio 2019”),则为Microsoft代码分析;如果使用LLVM/clang-cl,则为clang tidy。虽然代码分析将在后台对编辑器中打开的文件自动运行,但默认情况下,它不会在生成时对所有文件运行。继续阅读以了解更多配置选项。
MSBuild项目
我们重新设计了项目属性页的代码分析部分,使您能够更好地配置和定义每个项目使用的工具。在“常规”选项卡中,您可以选择运行分析时要运行的工具—无论是通过“分析”菜单、生成时还是生成时 在后台自动 . (如果显式运行代码分析时没有启用任何一种工具,则只需在错误列表中返回警告即可。)
MSVC代码分析引擎的规则集可在“Microsoft”选项卡下配置,而“Clang Tidy”选项卡允许您指定要启用或禁用的特定Clang Tidy检查,即要提供给 –支票 工具的选项。
可以通过.clang tidy文件进行进一步的配置,该工具尝试从中读取其他设置,您可以在其中提供进一步的配置,例如通过Checks、HeaderFilterRegex和SystemHeaders等选项。 看到了吗 LLVM.org文档 更多细节。
CMake项目
在针对Windows的CMake配置中,可以通过指定 叮当作响 输入CMakeSettings.JSON的JSON视图,并将字符串值传递给工具的 –支票 如上所述的选项。从Preview 2中开始,您还可以通过配置要使用的工具 启用MicrosoftCodeAnalysis 和 启用ClangTidyCodeAnalysis 键,并在文件保存时更新编辑器中的警告和错误列表。
我们目前不支持通过 整理一下 IDE中CMakeLists.txt中的变量。此外,对CMake配置的有力支持仅扩展到Windows,即我们还不支持WSL或远程Linux目标。
代码分析可以进一步配置(例如,在工具>选项>文本编辑器> C/C++ >高级工具内切换代码显示或后台运行。
错误列表和编辑器集成
运行clangtidy会导致错误列表中出现逐项的警告,您可以从中快速浏览代码。“类别”列根据检查前缀提供有关警告类型的信息,例如cppcoreguidelines、readability或clang diagnostic。
警告还以编辑器波形显示,因此您可以轻松查看发现问题的位置和上下文。波形显示在代码的相关部分下面,将鼠标悬停在这些部分上会显示一个工具提示,其中包含有关问题的信息,就像Microsoft代码分析警告一样。
今后的工作
UI当前不支持将Visual Studio指向使用 自定义clang-tidy.exe ,这在使用自定义检查的情况下可能是需要的,但我们正在探索这一点作为未来的一个选项。我们也在努力让你 和你的孩子一起跑 –修复 旗帜 并应用快速修复。
向我们发送反馈
您的反馈是确保我们能够向所有人提供最佳代码分析体验的关键部分!我们希望您能试用最新的预览版 Visual Studio 2019版本16.4 并让我们知道它是如何为您工作,无论是在下面的评论或 通过电子邮件 . 如果你遇到问题或 建议, 拜托 报告问题 或者通过 开发者社区 . 你也可以在Twitter上找到我们 @视觉 .