Konfigurace vyčištění zahrnutí C/C++ v sadě Visual Studio
Od verze 17.8 Preview 1 může Visual Studio vyčistit vaše #include
soubory, aby se zlepšila kvalita kódu C a C++, a to následujícími způsoby:
- Nabízí přidání souborů hlaviček pro kód, který se zkompiluje pouze proto, že potřebný hlavičkový soubor je nepřímo zahrnut jiným hlavičkovým souborem.
- Nabízí odebrání nepoužívaných souborů hlaviček– což zlepšuje časy sestavení.
Tento článek popisuje, jak nakonfigurovat funkci Zahrnout vyčištění v sadě Visual Studio. Další informace o zahrnutí vyčištění naleznete v tématu C/C++ Include Cleanup overview.
Zapnutí funkce Zahrnout vyčištění
Funkce Zahrnout vyčištění je ve výchozím nastavení zapnutá. Pokud není aktivní, můžete ho zapnout prostřednictvím >nástroje Možnosti>textového editoru>C/C++>Vyčištění kódu a vybrat Povolit #include vyčištění.
Potom pomocí rozevíracích seznamu nakonfigurujte, jak chcete dostávat oznámení o příležitostech přidat nepřímé hlavičky nebo odebrat nepoužívané hlavičky:
Je zaškrtnuté políčko Povolit # včetně vyčištění. V rozevíracích sadě Pro odebrání nepoužívaných se zobrazuje úroveň návrhu a přidání chybějící úrovně návrhů. Zobrazí se obsah rozevíracího seznamu: **Refaktoring only**, **Suggestion**, **Warning** a **Error**. Rozevírací seznam **Odebrat nepoužité položky zahrnuje úroveň návrhu** stejné možnosti, ale také přidá šedě.
Významy možností na úrovni návrhu jsou:
Pouze refaktoring: Zahrnout vyčištění nabízí akce, které můžete provést v nabídce rychlých akcí, když najedete myší na ukazatel myši nebo #include
umístíte kurzor na #include
řádek a stisknete ctrl+tečku:
Když najedete myší na # zahrne iostream, zobrazí se žárovka s textem, který obsahuje iostream, se v tomto souboru nepoužívá."
Návrh, upozornění, chyba: Zahrnout akce čištění, které může provést prostřednictvím návrhů, upozornění nebo chyb v okně Seznam chyb. Určíte, které. Na následujícím snímku obrazovky se seznamem chyb je nakonfigurováno zahrnout vyčištění tak, aby zobrazovalo nepoužívané hlavičky s upozorněním. Ujistěte se, že je v rozevíracím filtru vybraná možnost Build + IntelliSense , abyste viděli výstup Zahrnout vyčištění:
Rozevírací filtr je nastavený na Build + IntelliSense. Zobrazí se upozornění: VCIC002 – #include < > iostream se v tomto souboru nepoužívá."
Ztlumil
Zahrnout vyčištění zobrazuje nepoužívané hlavičky tím, že v editoru kódu ztlumí řádek nepoužívaného souboru záhlaví. Když najedete myší na neaktivní, #include
zobrazí se nabídka rychlých akcí a zvolíte Zobrazit potenciální opravy nebo kliknutím na rozevírací seznam žárovky zobrazíte akce související s nepoužívaným souborem.
Řádek pro #include < iostream > je neaktivní, protože řádek kódu, který používá iostream, je zakomentován. Tento řádek kódu je // std::cout << "charSize = " << charSize; Pro tento řádek je viditelná také nabídka rychlých akcí. Uvádí, že #include < iostream > se v tomto souboru nepoužívá a obsahuje odkaz na zobrazení potenciálních oprav.
Konfigurace funkce Zahrnout vyčištění pomocí .editorconfig
Existují další možnosti konfigurace zahrnout vyčištění, jako je vyloučení zadaných součástí návrhů čištění, což znamená, že některé soubory hlaviček jsou povinné, aby nástroj je neoznačil jako nepoužívané atd. Tyto možnosti jsou definovány v .editorconfig
souboru, které můžete do projektu přidat, mimo jiné vynucovat konzistentní styly kódování pro všechny, kteří pracují v základu kódu. Další informace o přidání .editorconfig
souboru do projektu naleznete v tématu Vytvoření přenosného vlastního nastavení editoru pomocí EditorConfig.
Nastavení .editorconfig
, která můžete použít s příkazem Zahrnout vyčištění, jsou:
Nastavení | Hodnoty | Příklad |
---|---|---|
cpp_include_cleanup_add_missing_error_tag_type Nastaví úroveň chyby při přidání tranzitivních zpráv. |
none suggestion warning error |
cpp_include_cleanup_add_missing_error_tag_type = suggestion |
cpp_include_cleanup_remove_unused_error_tag_type Nastaví úroveň chyby odebrání nepoužívaných zpráv zahrnutí. |
none suggestion warning error dimmed |
cpp_include_cleanup_remove_unused_error_tag_type = dimmed |
cpp_include_cleanup_excluded_files Vyloučí zadané soubory ze zpráv Zahrnout vyčištění. Nebudete mít vůbec nějaký návrh související s záhlavím, ať už ho přidáte nebo že se nepoužívá. |
filename | cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h |
cpp_include_cleanup_required_files Zadejte, že použití souboru1 vyžaduje soubor2. Zadejte například, že pokud použijete atlwin.h , které altbase.h musí být zahrnuty také. |
file1:file2 | cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h |
cpp_include_cleanup_replacement_files Nahradí soubor 1 souborem 2 během zpracování zahrnutí vyčištění. Můžete například raději použít více stdio.h než cstdio . Pokud máte soubor s obsahem a používáte ho jenom z stdio.h tohoto nastavení, s tímto nastavením Include Cleanup (Zahrnout vyčištění) vás upozorní, že se má odebratstdio.h , protože se při zpracování nahradilo používáním stdio.h cstdio .#include <cstdio> #include <stdio.h> Pokud obsah z některého z nich nepoužíváte, nástroj Zahrnout vyčištění vám řekne, že chcete odebrat obojí. |
file1:file2 | cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint |
cpp_include_cleanup_alternate_files Nevygenerujte zprávu pro nepřímý soubor include2, pokud je zahrnutý soubor 1. Pokud například vy a používáte #include <windows.h> pouze něco z jeho nepřímo zahrnuté hlavičky winerror.h , zahrnout vyčištění nezobrazí výzvu k přidání winerror.h . Užitečné, pokud dáváte přednost zahrnutí souboru záhlaví před nepřímým zahrnutím. |
file1:file2 | cpp_include_cleanup_alternate_files = windows.h:winerror.h, windows.h:minwindef.h |
Viz také
Přehled vyčištění V jazyce C/C++
Zahrnout zprávy o vyčištění