Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для поддержки 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включает иcert-oop58-cppотключаетgoogle-runtime-intcppcoreguidelines-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-Tidy Дополнительные параметры
Свойство Clang-Tidy "Дополнительные параметры" позволяет указать дополнительные аргументы компилятора, передаваемые Clang-Tidy с помощью параметра командной --extra-args строки. Эти аргументы можно использовать для управления тем, как Clang-Tidy анализирует код, например определение макросов, включение путей или языковых стандартов. Введите аргументы в виде разделенного запятой списка. Например: -std=c++20;-DMY_DEFINE=1;-Ipath\to\include.
Добавить в начало дополнительные параметры Clang-Tidy
Свойство Clang-Tidy Prepend Additional Options позволяет указать аргументы компилятора, передаваемые в Clang-Tidy с помощью параметра командной --extra-args-before строки. Эти аргументы вставляются перед аргументами компилятора по умолчанию, когда Clang-Tidy анализирует код. Введите аргументы в виде разделенного запятой списка. Например: -std=c++20;-DMY_DEFINE=1;.
Максимальное число процессов
Свойство Max Number of Processes позволяет указать, сколько процессов Clang-Tidy можно использовать для параллельного выполнения анализа. По умолчанию Clang-Tidy выполняется последовательно. Задайте это свойство, чтобы включить параллельное выполнение и указать количество параллельных процессов. Установите 0 для использования всех доступных логических процессоров в вашей системе. Увеличение числа процессов может повысить скорость анализа на многоядерных компьютерах.
См. также
Поддержка Clang/LLVM для проектов MSBuild
Поддержка Clang/LLVM для проектов CMake