Использование 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-TidyclangTidyChecks
: конфигурация 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