Visual Studio'da C/C++ Temizleme ekle'yi yapılandırma

17.8 Önizleme 1'den başlayarak, Visual Studio C ve C++ kodunuzun kalitesini artırmak için hangi #include dosyaları temizleyebileceğinizi aşağıdaki yollarla temizleyebilir:

  • Yalnızca gerekli bir başlık dosyasının başka bir başlık dosyası tarafından dolaylı olarak içerilmesi nedeniyle derlenebilen kod için başlık dosyaları eklemeyi önerir.
  • Kullanılmayan üst bilgi dosyalarını kaldırmayı ve derleme sürelerini iyileştirmeyi sunar.

Bu makalede, Visual Studio'da Temizlemeyi Dahil Et'in nasıl yapılandırıldığı açıklanır. Temizlemeyi Dahil Et hakkında daha fazla bilgi için bkz . C/C++ Temizlemeyi Dahil Et'e genel bakış.

“Temizlemeyi dahil et” seçeneğini aç

Temizlemeyi Dahil Et özelliği varsayılan olarak kapalıdır.

Araçlar>Seçenekler>Metin Düzenleyicisi>C/C++>Kod Temizleme'yi seçip #include temizlemeyi etkinleştir'i seçerek bu özelliği açın.

Ardından, dolaylı üst bilgiler ekleme veya kullanılmayan üst bilgileri kaldırma fırsatları hakkındaki bildirimlerin önem derecesini yapılandırmak için açılan menüleri kullanın:

Metin Düzenleyicisi > C/C++ > Kod Temizleme'de açılan Araçlar seçenekleri iletişim kutusu.

**#include temizlemeyi etkinleştir** onay kutusu seçilidir. **Kullanılmayan include’ları kaldırma öneri düzeyi** ve **Eksik include ekleme öneri düzeyi** için açılan menüler gösterilir. Açılan menü içeriği gösterilir ve bunlar şunlardır: **Yalnızca yeniden düzenleme**, **Öneri**, **Uyarı**ve **Hata**. **Kullanılmayan include'ları kaldırma önerisi düzeyi** açılır listesi aynı seçenekleri sunar, ancak buna ek olarak **Soluk** seçeneğini de ekler.

Bu seçenekler, Temizlemeyi Dahil Et özelliğinin kullanılmayan üst bilgiler hakkında sağladığı bildirim türünü denetler:

Karartılmış

Include Cleanup, kullanılmayan üst bilgi dosyalarını, kod düzenleyicisinde kullanılmayan üst bilgi dosyasının satırını soluklaştırarak ve Hata Listesi penceresinde bir iletiyle gösterir. Kod düzenleyicisinde, kullanılmayan dosyayla ilgili eylemleri görmek için farenizi soluk görünen #include öğesinin üzerine getirin ve hızlı işlem menüsünden Olası düzeltmeleri göster seçeneğini belirleyin veya ampul açılır menüsüne tıklayın.

Soluk #include < iostream > satırının ekran görüntüsü.

#include < iostream > satırı, iostream kullanan kod satırı yorum satırı hâline getirildiği için soluk görünür. Söz konusu kod satırı // std::cout << "charSize = " << charSize; şeklindedir. Hızlı işlem menüsü de bu satır için görünür. #include < iostream > bu dosyada kullanılmadığını ve Olası düzeltmeleri göster bağlantısının olduğunu söyler.

Yalnızca yeniden düzenleme: Temizlemeyi ekle seçeneği, fare işaretçisini bir #includeöğesinin üzerine getirdiğinizde veya imleci satıra #include getirip Ctrl+nokta tuşlarına bastığınızda kod düzenleyicisindeki hızlı işlem menüsü aracılığıyla gerçekleştirebileceğiniz eylemler sunar:

Kullanılmayan üst bilgiyi kaldırmaya yönelik hızlı eylemin ekran görüntüsü.

İmleci # include iostream üzerine getirdiğinizde, # include iostream ifadesinin bu dosyada kullanılmadığını belirten bir ampul görünür.

Öneri, Uyarı, Hata: Temizlemeyi Dahil Et, Temizleme iletilerini öneri, uyarı veya hata olarak Hata Listesi penceresinde gösterebilir. Hangisinin olduğunu siz belirlersiniz. Hata Listesi'nin aşağıdaki ekran görüntüsünde Temizlemeyi Dahil Et, kullanılmayan üst bilgileri bir uyarıyla gösterecek şekilde yapılandırılmıştır. Temizlemeyi Dahil Et çıkışını görebilmek için açılan filtrede Build + Intellisense'in seçili olduğundan emin olun:

Hata Listesi penceresinin ekran görüntüsü.

Açılır filtre **Derleme + IntelliSense** olarak ayarlanmıştır. Bir uyarı görünür: VCIC002 - '#include ' bu dosyada kullanılmaz."

Araçlar>Seçenekler>Tüm Ayarlar>Dilleri>C/C++>Kod temizleme>temizlemeyi dahil et'i seçerek bu özelliği açın. Kullanılmayan #include deyimleri vurgulama #include fırsatları, iyileştirilebilir deyimler (gerekli geçişli eklemeler doğrudan eklendikten sonra kaldırılır) ve geçişli olarak eklenen eksik #include deyimler hakkında nasıl bildirim almak istediğinizi yapılandırmak için açılan menüleri kullanın.

Tüm Ayarlar > Dilleri > C/C++ > Kod temizleme > temizlemeyi dahil et bölümünde açılan Araçlar seçenekleri iletişim kutusunun ekran görüntüsü.

Kod düzenleyicisinde kullanılmayan bir başlık dosyasını, optimize edilebilenleri ve geçişli olarak dahil edilenleri nasıl vurgulayacağını seçmeye yönelik açılır menüleri gösteren ekran görüntüsü.

Seçeneklerin anlamı:

Karartılmış

Temizlemeyi Dahil Et, kullanılmayan üst bilgileri kod düzenleyicisindeki kullanılmayan üst bilgi dosyasının satırını soluk görüntüleyerek ve Hata Listesi penceresinde bir ileti olarak gösterir. Kod düzenleyicisinde, kullanılmayan dosyayla ilgili eylemleri görmek için imlecinizi soluk #include üzerine getirin ve hızlı eylem menüsünden Olası düzeltmeleri göster seçeneğini belirleyin veya ampul açılır menüsüne tıklayın.

Soluk #include < iostream > satırının ekran görüntüsü.

`iostream` kullanan kod satırı yorum satırı hâline getirildiği için `#include ` satırı soluk görünür. Bu kod satırı şudur: `// std::cout << "charSize = " << charSize;`. Bu satır için hızlı işlem menüsü de görünür. Bu dosyada '#include ' kullanılmadığını ve **Olası düzeltmeleri göster** bağlantısının olduğunu belirtiyor.

Yok: Hiçbir işlem gerçekleştirme. Temizleme Ekle, fare işaretçisini bir #include öğesinin üzerine getirdiğinizde veya imleci #include satırına getirip Ctrl+. tuşlarına bastığınızda, hızlı eylemler menüsü aracılığıyla kod düzenleyicisinde gerçekleştirebileceğiniz eylemler sunmaya devam eder:

Öneri, Uyarı, Hata: Temizlemeyi Dahil Et, Temizleme iletilerini öneri, uyarı veya hata olarak Hata Listesi penceresinde gösterebilir. Hangisinin olduğunu siz belirlersiniz. Hata Listesi'nin aşağıdaki ekran görüntüsünde Temizlemeyi Dahil Et, kullanılmayan üst bilgileri bir uyarıyla gösterecek şekilde yapılandırılmıştır. Temizlemeyi Dahil Et çıkışını görebilmek için açılan filtrede Build + Intellisense'in seçili olduğundan emin olun:

Hata Listesi penceresinin ekran görüntüsü.

Açılır filtre **Derleme + IntelliSense** olarak ayarlanmıştır. Bir uyarı görünür: VCIC002 - '#include ' bu dosyada kullanılmaz."

Diğer yapılandırma seçenekleri

Diğer Temizlemeyi Ekle ayarları , Araçlar>Seçenekleri>Metin Düzenleyicisi>C/C++>Kod Temizleme altında bulunur:

  • Sıralama şunları içerir: Sıralama gerektiren bayrak #include yönergeleri. Hata Listesi penceresinde görüntülenen iletinin önem derecesi bildirim düzeyini seçin: Yok (özellik kapalı), Öneri, Uyarı veya Hata.
  • Stil: Deyimlerin nasıl #include sıralanacağını denetler. Yoksay seçeneğini, parantez stilini dikkate almadan sıralamak için; Tırnak işaretleri seçeneğini, tırnak içindeki include ifadelerini açılı parantez içindeki include ifadelerinin üzerinde sıralamak için; veya Açılı parantezler seçeneğini, açılı parantez içindeki include ifadelerini tırnak içindeki include ifadelerinin üzerinde sıralamak için seçin.
  • Büyük/küçük harfe duyarlı: Seçildiğinde, sıralama karşılaştırmaları büyük/küçük harfe duyarlı dosya adlarını içerir. Temizlendiğinde, sıralama büyük/küçük harfe duyarlı değildir.

Gelişmiş filtreleme, Düzenlemelerden sonra sırala, Eklemeleri Sırala, Öncelik sıralama, Stil ve Büyük/küçük harfe duyarlı ayarların vurgulandığı Visual Studio Seçeneklerinin ekran görüntüsü.

Diğer Temizlemeyi Ekle ayarları , Araçlar>Seçenekleri>Tüm Ayarlar>Dilleri>C/C++>Kod temizlemeyi>dahil et altında bulunur:

  • Gelişmiş Filtreleme: Seçildiğinde, türetilmiş bir sınıf nesnesi üzerinde üye işlevi çağırırsanız ancak işlev temel sınıfta tanımlanırsa, araç temel sınıf üst bilgisini eklemeyi önermez. Kullandığınız simgeler doğrudan başvurabileceğiniz tür yerine temel sınıflardan geldiğinde gürültülü önerileri azaltmak için bu seçeneği açın.
  • Include temizliği için herhangi bir düzenleme yaptıktan sonra #include yönergelerini sıralayın: Seçildiğinde, yerleşik include sıralama özelliği herhangi bir Include Cleanup eyleminden sonra çalışır.
  • Include temizliği için herhangi bir düzenleme yaptıktan sonra #include yönergelerini biçimlendir: Seçildiğinde, biçimlendirme komutu herhangi bir Include Temizliği eyleminden sonra çalışır.

Gelişmiş filtreleme, Sıralama ve Biçim ayarlarının vurgulandığı Temizleme seçeneklerini dahil et Visual Studio ekran görüntüsü.

Temizlemeyi Dahil Et'i ile yapılandırma .editorconfig

Temizlemeyi Dahil Et özelliği, belirtilen özellikleri temizleme önerilerinden dışlama ve aracın bunları kullanılmamış olarak işaretlememesi için bazı üst bilgi dosyalarının gerekli olduğunu belirtme gibi daha fazla seçeneğe sahiptir. Bu seçenekleri bir .editorconfig dosyada tanımlayın. Kod tabanında çalışan herkes için tutarlı kodlama stilleri uygulamak için bu dosyayı projenize ekleyin. Projenize dosya ekleme .editorconfig hakkında daha fazla bilgi için bkz . EditorConfig ile taşınabilir, özel düzenleyici ayarları oluşturma.

Temizlemeyi .editorconfig Dahil Et ile kullanabileceğiniz ayarlar şunlardır:

Ayar Değerler Örnek
cpp_include_cleanup_add_missing_error_tag_type

Geçişli ekleme iletileri eklemek için hata düzeyini ayarlar.
none
suggestion
warning
error
cpp_include_cleanup_add_missing_error_tag_type = suggestion
cpp_include_cleanup_alternate_files

Dolaylı eklemeler için mesajları gizle. Örneğin, #include <windows.h> yaparsanız ve yalnızca dolaylı olarak dahil edilen başlık dosyaları winerror.h veya minwindef.h içeriğini kullanıyorsanız, araç bunları eklemeyi önermez.
file1:file2[:file3...][,file4:file5...] cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h
Veya
cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h,umbrella.h:internal.h
cpp_include_cleanup_excluded_files

Belirtilen dosyaları Temizlemeyi Ekle iletilerinin dışında tutar. Başlıkla ilgili ne ekleme ne de kullanılmadığına dair bir öneri almayacaksınız.
filename cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h
cpp_include_cleanup_remove_unused_error_tag_type

Kullanılmayan ekleme iletilerini kaldırma hata düzeyini ayarlar.
none
suggestion
warning
error
dimmed
cpp_include_cleanup_remove_unused_error_tag_type = dimmed
cpp_include_cleanup_replacement_files

file1 dosyasını Include Cleanup işlemi sırasında file2 ile değiştirir. Örneğin, stdio.h yerine cstdio kullanmayı tercih edebilirsiniz. Hem #include <cstdio> hem de #include <stdio.h> içeren bir dosyanız varsa ve içeriği yalnızca stdio.h'den alıyorsanız, bu ayarda Temizlemeyi Dahil Et, işlem sırasında cstdio kullanımını stdio.h ile değiştirdiği için stdio.h öğesini kaldırmanızı söyler. Her ikisinin içeriğini de kullanmıyorsanız, Include Cleanup ikisini de kaldırmanızı ister.
dosya1:dosya2 cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint
cpp_include_cleanup_required_files

file1 kullanımının file2 gerektirdiğini belirtin. Örneğin, atlwin.h kullanıyorsanız altbase.h öğesinin de dahil edilmesi gerektiğini belirtin.
dosya1:dosya2 cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h
cpp_sort_includes_error_tag_type

sort-includes iletilerinin hata düzeyini ayarlar. none özelliği kapatır. suggestion bir ... dalgalı çizgi gösterir ve hata listesine bir ileti ekler. warning yeşil dalgalı bir çizgi gösterir ve bir uyarı ekler. error kırmızı dalgalı çizgi gösterir ve hata ekler.
none
suggestion
warning
error
cpp_sort_includes_error_tag_type = suggestion
cpp_sort_includes_priority_case_sensitive

olduğunda true, sıralama karşılaştırmaları büyük/küçük harfe duyarlı dosya adlarını içerir. false olduğunda, sıralama büyük/küçük harfe duyarlı değildir.
true
false
cpp_sort_includes_priority_case_sensitive = false
cpp_sort_includes_priority_style

Sıralamanın köşeli parantez stilini dikkate alıp almayacağını belirler. ignore parantezleri dikkate almadan sıralar. quoted çift tırnaklı include'ları açılı ayraçlı include'ların üstüne sıralar. angle_brackets, köşeli ayraçlı include'ları tırnak içindeki include'ların üstüne sıralar.
ignore
quoted
angle_brackets
cpp_sort_includes_priority_style = quoted

Visual Studio 2026'dan itibaren aşağıdaki ayarlar kullanılabilir:

Ayar Değerler Örnek
cpp_include_cleanup_format_after_edits

olduğunda true, herhangi bir Temizlemeyi Dahil Et eyleminden sonra format komutunu çalıştırır. Yönergelerinizi #include sıralamak için clang biçimini yapılandırdığınızda kullanışlıdır.
true
false
cpp_include_cleanup_format_after_edits = true
cpp_include_cleanup_sort_after_edits

true olduğunda, herhangi bir Include Cleanup eyleminden sonra yerleşik include sıralama özelliğini çalıştırır. Yönergelerinizi #include sıralamak için clang biçimini kullanmadığınızda kullanışlıdır.
true
false
cpp_include_cleanup_sort_after_edits = true

Kullanılmayan ekleme iletilerini kod aracılığıyla gizleme

Visual Studio 2026’dan itibaren, aynı satıra bir // VCIC-Excluded açıklaması ekleyerek tek bir #include yönergesindeki Include Cleanup iletilerini bastırabilirsiniz. Include Cleanup aracı, kullanılmıyor gibi görünse bile bu include yönergesinin kaldırılmasını önermez. gelecekteki okuyucuların eklemenin neden orada olduğunu bilmesi için işaretçiden sonra isteğe bağlı gerekçe metni sağlayın:

#include "Header2.h" // VCIC-Excluded: needed for the ATL macros used below

// VCIC-Excluded açıklamasını bir #include yönergesine eklemek için ampul menüsünü de kullanabilirsiniz. Varsayılan olarak kapalı olduğundan, Araçlar>Seçenekler>Tüm Ayarlar>Diller>C/C++>Kod temizleme>Include cleanup yolundan Include Cleanup seçeneğinin açık olduğundan emin olun. Ardından imlecinizi çizginin #include üzerine getirin, Diğer Düzeltmeler>Kaynaktaki VCIC002 Gizle'yi seçin:

Kaynakta VCIC002’yi Bastır seçeneğini gösteren Visual Studio ampul menüsünün ekran görüntüsü.

// VCIC-Excluded açıklaması yalnızca dosya için olan #include için geçerlidir. .editorconfig içinde cpp_include_cleanup_excluded_files ayarını yapmak, .editorconfig tarafından yönetilen her dosyada bu dışlamayı uygular.

Ayrıca bkz.

C/C++ Include Temizliğine Genel Bakış
Temizleme iletilerini dahil et