Visual Studio'da Clang-Tidy kullanma
Clang-Tidy desteği için Visual Studio 2019 sürüm 16.4 veya üzeri gerekir. Bu sürümün belgelerini görmek için, bu makalenin Visual Studio Sürüm seçici denetimini Visual Studio 2019 veya üzeri olarak ayarlayın. Bu sayfadaki içindekiler tablosunun en üstünde yer alır.
Kod Analizi, Ister Clang ister MSVC araç setlerini kullansın, hem MSBuild hem de CMake projeleri için Clang-Tidy'ı yerel olarak destekler. Clang-Tidy denetimleri arka plan kodu analizinin bir parçası olarak çalıştırılabilir. Bunlar düzenleyici içi uyarılar (dalgalı çizgiler) olarak görünür ve Hata Listesi'nde görüntülenir.
Clang-Tidy desteği Visual Studio 2019 sürüm 16.4'den itibaren kullanılabilir. Visual Studio Yükleyicisi bir C++ iş yükü seçtiğinizde otomatik olarak eklenir.
Clang-Tidy, HEM MSBuild hem de CMake'de kullanılabilen LLVM/clang-cl araç takımını kullanırken varsayılan analiz aracıdır. Standart Kod Analizi deneyiminin yanı sıra çalışmak veya değiştirmek için bir MSVC araç takımı kullanırken bunu yapılandırabilirsiniz. Clang-cl araç takımını kullanıyorsanız Microsoft Code Analysis kullanılamaz.
Clang-Tidy başarılı bir derlemeden sonra çalışır. Clang-Tidy sonuçlarını almak için kaynak kodu hatalarını çözmeniz gerekebilir.
MSBuild
Clang-Tidy'ı hem Kod Analizi'nin bir parçası olarak çalışacak şekilde yapılandırabilir hem de Proje Özellikler penceresi Kod Analizi>Genel sayfası altında derleyebilirsiniz. Aracı yapılandırma seçenekleri Clang-Tidy alt menüsünde bulunabilir.
Daha fazla bilgi için bkz . Nasıl yapılır: C/C++ Projeleri için Kod Analizi Özelliklerini Ayarlama.
CMake
CMake projelerinde veya CMakePresets.json
içinde CMakeSettings.json
Clang-Tidy denetimlerini yapılandırabilirsiniz.
Clang-Tidy aşağıdaki anahtarları tanır:
enableMicrosoftCodeAnalysis
: Microsoft Code Analysis'i etkinleştirirenableClangTidyCodeAnalysis
: Clang-Tidy analizini etkinleştirirclangTidyChecks
: Clang-Tidy yapılandırması. Etkinleştirme veya devre dışı bırakma denetimlerinin virgülle ayrılmış listesi. Baştaki-
denetim devre dışı bırakılır. Örneğin,cert-oop58-cpp, -cppcoreguidelines-no-malloc, google-runtime-int
vegoogle-runtime-int
'yi etkinleştirircert-oop58-cpp
, ancak devre dışı bırakırcppcoreguidelines-no-malloc
. Clang-Tidy denetimlerinin listesi için Clang-Tidy belgelerine bakın.
"Etkinleştir" seçeneklerinden hiçbiri belirtilmezse, Visual Studio kullanılan Platform Araç Takımı ile eşleşen çözümleme aracını seçer.
CMake ayarları
Clang-Tidy ayarlarınızı düzenlemek için CMake ayarlarınızı açın ve CMake Proje Ayarları Düzenleyicisi'nde JSON Düzenle'yi seçin. CMake Ayarları JSON dosyasında Clang-Tidy belirtimlerinizi doldurmak için yukarıdaki anahtarları kullanabilirsiniz.
Örnek bir CMake ayarları uygulaması şöyle görünür:
{
"configurations": [
{
"name": "x64-debug",
"generator": "Ninja",
....
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
]
}
CMake ön ayarları
Aynı tuşlar, nesne aracılığıyla vendor
CMake ön ayarlarınızda kullanılabilir.
Örnek bir CMake önayar uygulaması şöyle görünür:
"configurePreset": [
{ "name": "base",
....
"vendor": {
"microsoft.com/VisualStudioSettings/CMake/1.0": {
"clangTidyChecks": "llvm-include-order, -modernize-use-override",
"enableMicrosoftCodeAnalysis": true,
"enableClangTidyCodeAnalysis": true
}
}
}
]
Uyarı görüntüsü
Clang-Tidy çalıştırmaları Hata Listesi'nde görüntülenen uyarılarla sonuçlanır ve düzenleyicide kodun ilgili bölümlerinin altında dalgalı çizgiler oluşur. Clang-Tidy uyarılarını sıralamak ve düzenlemek için Hata Listesi penceresindeki Kategori sütununu kullanın. Araçlar>Seçenekleri'nin altındaki Kod Analizi Dalgalı Çizgilerini Devre Dışı Bırak ayarını değiştirerek düzenleyici içi uyarıları yapılandırabilirsiniz.
Clang-Tidy yapılandırması
Varsayılan olarak, Clang-Tidy etkinleştirildiğinde hiçbir denetim ayarlamaz. Komut satırı sürümündeki denetimlerin listesini görmek için bir geliştirici komut isteminde komutunu çalıştırın clang-tidy -list-checks
. Clang-Tidy tarafından Visual Studio'da çalıştırılan denetimleri yapılandırabilirsiniz. Proje Özellik Sayfaları iletişim kutusunda Yapılandırma Özellikleri>Kod Analizi>Clang-Tidy sayfasını açın. Clang-Tidy Checks özelliğinde çalıştırılacak denetimleri girin. İyi bir varsayılan kümedir clang-analyzer-*
. Bu özellik değeri, aracın bağımsız değişkenine --checks
sağlanır. Diğer tüm yapılandırmalar özel .clang-tidy
dosyalara eklenebilir. Daha fazla bilgi için LLVM.org hakkındaki Clang-Tidy belgelerine bakın.
Clang-Tidy Araç Dizini
Clang-tidy yürütülebilir dosyanızda yerleşik özel kurallar olmasını ve Bunu Microsoft Visual Studio'da çalıştırmayı istiyorsanız, Visual Studio'nun çalıştırabileceği yürütülebilir dosyanın yolunu değiştirebilirsiniz. Proje Özellik Sayfaları iletişim kutusunda Yapılandırma Özellikleri>Kod Analizi>Clang-Tidy sayfasını açın. Yolu el ile yazın veya Gözat'ı seçin ve Clang-Tidy Tool Directory özelliğinin altındaki yolu seçin. Yeni yürütülebilir dosya, değişiklik kaydedildikten ve uygulama yeniden derlendikten sonra kullanılır.
Ayrıca bkz.
MSBuild projeleri için Clang/LLVM desteği
CMake projeleri için Clang/LLVM desteği