如何使用视觉工作室进行clang-tidy现代化

时间:2017-01-03 10:18:48

标签: c++ visual-studio clang clang-format clang-tidy

我正在尝试在visual studio或命令行中对文件应用clang现代化,利用我的visual studio 2015 C ++项目中的包含路径和设置。

我创建了一个铿锵有力的设置文件,如下所示:

clang-tidy -dump-config=.clang-tidy 
  -checks="modernize-loop-convert,modernize-deprecated-headers"

并验证它适用于单个文件,来自(cygwin)命令行:clang-tidy.exe -explain-config列表(除其他外)

'modernize-deprecated-headers' is enabled in the C:\abc\.clang-tidy.

并且我可以通过手动设置包含来在单个文件上运行它:    clang-tidy.exe someFile.cpp -- -Ic:/abc -I. -IIncludes

我安装了visual studio clang-format VS plugin,并创建了一个示例.clang格式文件{ BasedOnStyle: "LLVM", IndentWidth: 20 },其中 由VS插件获取。然后我天真地尝试用clang-tidy配置来提供clang-format,但不出所料这根本不起作用。

总结一下:如何在文件和visual studio项目上运行clang-tidy?

或许解决方法是从visual studio中转储每个文件的包含?任何前进的方式都可以。

供参考:

How can I enable clang-tidy's "modernize" checks?

How to feed Visual Studio Clang-Format plugin with clang-format file?

3 个答案:

答案 0 :(得分:2)

我是Cppcheck开发人员。

您可以在Cppcheck GUI中对visual studio解决方案运行clang-tidy。

它是一个免费的开源(GPL)工具。您可以在此处下载:http://cppcheck.sf.net

一些截图: http://cppcheck.sourceforge.net/clangtidy/index.html

它目前还没有集成其他clang工具(例如clang-format),但是可以提取Cppcheck GUI使用的clang-tidy命令。也许你可以编辑它们。

答案 1 :(得分:1)

Visual Studio 2019 版本 16.4+ 为 clang-tidy 提供了 native support

答案 2 :(得分:0)

要直接在Visual Studio中使用Clang Tidy现代化,可以尝试使用Clang Power Tools vs-extension。它具有Clang Tidy-Fix功能,可以自动更新代码。

您提到在单个文件上运行Clang Tidy。您可以使用vs-toolbar中的tidy命令,该命令将在编辑器的活动文件上运行tidy。如果要对多个文件执行整洁的操作,请使用上下文菜单中的命令或在整个项目中运行它,但是我不确定这是您要执行的操作,因为代码更改将更难看到。

关于其他包含,您可以选择:包含目录和系统包含。