Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 Analiziderleyebilirsiniz. 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 CMakeSettings.json
içinde CMakePresets.json
Clang-Tidy denetimlerini yapılandırabilirsiniz.
Clang-Tidy aşağıdaki anahtarları tanır:
-
enableMicrosoftCodeAnalysis
: Microsoft Code Analysis'i etkinleştirir -
enableClangTidyCodeAnalysis
: Clang-Tidy analizini etkinleştirir -
clangTidyChecks
: 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
vecert-oop58-cpp
'yi etkinleştirirgoogle-runtime-int
, 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çlarKod Analizi Dalgalı Çizgilerini>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 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 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.
Clang-Tidy Ek Seçenekler
Clang-Tidy Ek Seçenekler özelliği, komut satırı seçeneğini kullanarak Clang-Tidy geçirilen ek derleyici bağımsız değişkenleri belirtmenize --extra-args
olanak tanır. Bu argümanlar, Clang-Tidy'ın kodunuzu nasıl ayrıştıracağını denetlemek için makrolar tanımlamak, yollar eklemek veya dil standartlarını belirlemek gibi işlemlerde kullanılabilir. Bağımsız değişkenleri noktalı virgülle ayrılmış liste olarak girin. Örneğin: -std=c++20;-DMY_DEFINE=1;-Ipath\to\include
.
Öne Eklenen Ek Seçenekler Clang-Tidy
Clang-Tidy Prepend Ek Seçenekleri Önüne Ekle özelliği, komut satırı seçeneği kullanılarak Clang-Tidy'e geçirilen derleyici bağımsız değişkenlerini belirtmenize --extra-args-before
olanak tanır. Bu bağımsız değişkenler, Clang-Tidy kodunuzu ayrıştırdığında varsayılan derleyici bağımsız değişkenlerinden önce eklenir. Bağımsız değişkenleri noktalı virgülle ayrılmış liste olarak girin. Örneğin: -std=c++20;-DMY_DEFINE=1;
.
En Fazla İşlem Sayısı
en fazla işlem sayısı özelliği, Clang-Tidy paralel çözümleme çalıştırmak için kullanabileceği işlem sayısını belirtmenize olanak tanır. Varsayılan olarak, Clang-Tidy seri olarak çalışır. Paralel yürütmeyi etkinleştirmek ve paralel işlemlerin sayısını belirtmek için bu özelliği ayarlayın.
0
Bunu, sisteminizdeki tüm kullanılabilir mantıksal işlemcileri kullanacak şekilde ayarlayın. İşlem sayısını artırmak, çok çekirdekli makinelerde analiz hızını artırabilir.
Ayrıca bkz.
MSBuild projeleri için Clang/LLVM desteği
CMake projeleri için Clang/LLVM desteği