Использование Clang-Tidy в Visual Studio

Для поддержки Clang-Tidy требуется Visual Studio 2019 версии 16.4 или более поздней. Чтобы просмотреть документацию для этой версии, задайте для этой статьи элемент управления селектором версий Visual Studio 2019 или более поздней версии. Он находится в верхней части оглавление на этой странице.

Анализ кода изначально поддерживает Clang-Tidy для проектов MSBuild и CMake, независимо от использования наборов инструментов Clang или MSVC. Clang-Tidy проверка может выполняться как часть фонового анализа кода. Они отображаются как предупреждения в редакторе (squiggles) и отображаются в списке ошибок.

Поддержка Clang-Tidy доступна начиная с Visual Studio 2019 версии 16.4. Он включается автоматически при выборе рабочей нагрузки C++ в установщике Visual Studio.

Clang-Tidy — это средство анализа по умолчанию при использовании набора инструментов LLVM/clang-cl, доступного как в MSBuild, так и в CMake. Ее можно настроить при использовании набора инструментов MSVC для запуска вместе или замены стандартного интерфейса анализа кода. Если вы используете набор инструментов clang-clang, анализ кода Майкрософт недоступен.

Clang-Tidy выполняется после успешной компиляции. Чтобы получить результаты Clang-Tidy, может потребоваться устранить ошибки исходного кода.

MSBuild

Вы можете настроить Clang-Tidy для запуска в рамках анализа кода и сборки на странице "Общие сведения о анализе кода>" в окно свойств проекта. Параметры настройки средства можно найти в подменю Clang-Tidy.

Дополнительные сведения см. в разделе "Практическое руководство . Задание свойств анализа кода для проектов C/C++".

CMake.

В проектах CMake можно настроить проверка Clang-Tidy внутри CMakeSettings.json илиCMakePresets.json.

Clang-Tidy распознает следующие ключи:

  • enableMicrosoftCodeAnalysis: включает анализ кода Майкрософт
  • enableClangTidyCodeAnalysis: включает анализ Clang-Tidy
  • clangTidyChecks: конфигурация Clang-Tidy. Список разделенных запятыми проверка для включения или отключения. Ведущий - отключает проверка. Например, cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int включает и google-runtime-intотключает cert-oop58-cppcppcoreguidelines-no-malloc. Список проверка Clang-Tidy см. в документации по Clang-Tidy.

Если ни одно из параметров enable не указано, Visual Studio выбирает средство анализа, соответствующее используемому набору инструментов платформы.

Параметры CMake

Чтобы изменить параметры Clang-Tidy, откройте параметры CMake и выберите "Изменить JSON" в редакторе проекта CMake Параметры. Приведенные выше ключи можно использовать для заполнения спецификаций Clang-Tidy в файле CMake Параметры JSON.

Пример реализации параметров CMake выглядит следующим образом:

{
  "configurations": [
  {
    "name": "x64-debug",
    "generator": "Ninja",
    ....
   "clangTidyChecks": "llvm-include-order, -modernize-use-override",
   "enableMicrosoftCodeAnalysis": true,
   "enableClangTidyCodeAnalysis": true
  }
  ]
}

Предустановки CMake

Те же ключи можно использовать в предустановках CMake через vendor объект.

Пример предварительно заданной реализации CMake выглядит следующим образом:

"configurePreset": [
{ "name": "base",
  ....
  "vendor": {
    "microsoft.com/VisualStudioSettings/CMake/1.0": {
      "clangTidyChecks": "llvm-include-order, -modernize-use-override",
      "enableMicrosoftCodeAnalysis": true,
      "enableClangTidyCodeAnalysis": true
      }
    }
}
]

Отображение предупреждения

Clang-Tidy выполняется в результате предупреждений, отображаемых в списке ошибок, и как в редакторе squiggles под соответствующими разделами кода. Чтобы сортировать и упорядочивать предупреждения Clang-Tidy, используйте столбец категории в окне списка ошибок. Вы можете настроить предупреждения в редакторе, переключив параметр "Отключить анализ кода" в разделе "Параметры инструментов>".

Конфигурация Clang-Tidy

По умолчанию Clang-Tidy не задает никаких проверка при включении. Чтобы просмотреть список проверка в версии командной строки, запустите clang-tidy -list-checks в командной строке разработчика. Вы можете настроить проверка, которые clang-Tidy выполняется в Visual Studio. В диалоговом окне "Страницы свойств проекта" откройте страницу анализа>кода свойств>конфигурации Clang-Tidy. Введите проверка для запуска в свойстве Clang-Tidy Checks. Хороший набор по умолчанию .clang-analyzer-* Это значение свойства предоставляется --checks аргументу средства. Любую дополнительную конфигурацию можно включить в пользовательские .clang-tidy файлы. Дополнительные сведения см. в документации по Clang-Tidy по LLVM.org.

См. также

Поддержка Clang/LLVM для проектов MSBuild
Поддержка Clang/LLVM для проектов CMake