Sdílet prostřednictvím


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 #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 >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:

The Tools options dialog opened at Text Editor > C/C++ > Code Cleanup.

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:

A screenshot of the quick action to remove an unused header

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í:

A screenshot of the Error List window.

Rozevírací filtr je nastavený na Build + IntelliSense. Zobrazí se upozornění: VCIC002 – #include < > iostream se v tomto souboru nepoužívá."

Šedě

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.

A screenshot of a dimmed #include < iostream > line.

Řá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á.
Název_souboru 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.hnež cstdio . Pokud máte soubor s obsahem a používáte ho jenom z stdio.htohoto 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.hcstdio.#include <cstudio>#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í