Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Od verze 17.8 Preview 1 může Visual Studio vyčistit vaše #includesoubory, 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 > kódu a vybrat >
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 #includeumí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. |
nonesuggestionwarningerror |
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í. |
nonesuggestionwarningerrordimmed |
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 žádný návrh související k záhlaví, ať už ho přidáte, nebo jej nepoužijete. |
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 cstdionež stdio.h . Pokud máte soubor s obsahem a používáte ho jenom z #include <cstdio>tohoto nastavení, s tímto nastavením Include Cleanup (Zahrnout vyčištění) vás upozorní, že se má odebrat#include <stdio.h>, protože se při zpracování nahradilo používáním stdio.hstdio.h.cstdiostdio.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
Potlačit zprávy pro nepřímé zahrnutí. Pokud například použijete #include <windows.h> a využijete pouze obsah z hlaviček, které jsou nepřímo zahrnuty pomocí winerror.h nebo minwindef.h, nástroj nenavrhuje jejich přidání. |
file1:file2[:file3...][,file4:file5...] |
cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h
Nebo cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h,umbrella.h:internal.h |
Viz také
Přehled vyčištění V jazyce C/C++
Zahrnout zprávy o vyčištění