我正在尝试在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?
答案 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。如果要对多个文件执行整洁的操作,请使用上下文菜单中的命令或在整个项目中运行它,但是我不确定这是您要执行的操作,因为代码更改将更难看到。>
关于其他包含,您可以选择:包含目录和系统包含。