14

我正在尝试从 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 插件,并创建了一个示例 .clang-format 文件,{ BasedOnStyle: "LLVM", IndentWidth: 20 }该文件VS 插件获取。然后我天真地尝试使用 clang-tidy 配置来提供 clang-format,但不出所料,这根本不起作用。

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

也许一种解决方法是从 Visual Studio 中转储每个文件的包含?任何前进的方式都可以。

以供参考:

如何启用 clang-tidy 的“现代化”检查?

如何为 Visual Studio Clang-Format 插件提供 clang 格式文件?

4

3 回答 3

4

我是一名 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 命令。也许你可以编辑这些。

于 2017-10-11T09:14:55.887 回答
1

Visual Studio 2019 版本 16.4+原生支持clang-tidy!

于 2021-02-01T13:37:13.103 回答
0

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

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

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

于 2020-11-05T09:32:54.817 回答