Поделиться через


Использование 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-cpp cppcoreguidelines-no-malloc. Список проверок Clang-Tidy см. в документации по Clang-Tidy.

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

Параметры CMake

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

Пример реализации параметров 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-Tidy

Если вы хотите ввести настраиваемые правила в исполняемый файл clang-tidy и запустить его в Microsoft Visual Studio, можно изменить путь к исполняемому файлу, который запускает Visual Studio. В диалоговом окне "Страницы свойств проекта" откройте страницу анализа>кода свойств>конфигурации Clang-Tidy. Вручную введите путь или обзор и выберите путь в свойстве Clang-Tidy Tool Directory . Новый исполняемый файл используется после сохранения изменения, и приложение перекомпилируется.

См. также

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