Delen via


Configureer het opschonen van C/C++-invoegen in Visual Studio

Vanaf 17.8 Preview 1 kan Visual Studio uw #include's opschonen om de kwaliteit van uw C- en C++-code op de volgende manieren te verbeteren:

  • Aanbiedingen voor het toevoegen van headerbestanden voor code die alleen worden gecompileerd omdat een benodigd headerbestand indirect wordt opgenomen door een ander headerbestand.
  • Aanbiedingen voor het verwijderen van ongebruikte headerbestanden, waardoor de buildtijden worden verbeterd.

In dit artikel wordt beschreven hoe u Include Cleanup configureert in Visual Studio. Zie C/C++ Overzicht van Include-opruimingvoor meer informatie over Include-opruiming.

Insluiten opruimen inschakelen

De functie "Opname opschonen" is standaard ingeschakeld. Als deze niet actief is, kunt u deze inschakelen via Extra>Opties>Teksteditor>C/C++>Code opruimen en #include opschonen inschakelenselecteren.

Gebruik vervolgens de vervolgkeuzelijsten om te configureren hoe u meldingen wilt krijgen over kansen om indirecte headers toe te voegen of ongebruikte headers te verwijderen:

Het dialoogvenster Opties voor Hulpmiddelen geopend in Teksteditor > C/C++ > Opschonen van code.

Het selectievakje Inschakelen # opnemen is ingeschakeld. De vervolgkeuzelijsten voor Ongebruikt verwijderen bevatten suggestieniveau en Ontbrekend toevoegen bevat suggestieniveau. De inhoud van de vervolgkeuzelijst wordt weergegeven. Dit zijn: **Alleen herstructureren**, **Suggestie**, **Waarschuwing** en **Fout**. De vervolgkeuzelijst **Ongebruikt verwijderen bevat suggestieniveau** biedt dezelfde opties, maar voegt ook grijs toe.

De betekenis van de opties op suggestieniveau zijn:

Alleenherstructureren: Opschonen biedt acties die u kunt uitvoeren via het snelmenu wanneer u de muisaanwijzer boven een #includebeweegt, of plaats de cursor op de #include regel en druk op Ctrl+punt:

Een schermopname van de snelle actie om een ongebruikte koptekst te verwijderen

Wanneer u de cursor boven #include iostream houdt, verschijnt er een gloeilamp met de tekst dat #include iostream niet in dit bestand wordt gebruikt.

Suggestie, Waarschuwing, Fout: Include Cleanup biedt acties aan die het kan uitvoeren via suggesties, waarschuwingen of fouten in het Foutenlijstvenster. U bepaalt welke. In de volgende schermopname van de lijst met fouten is Opnemen opschonen geconfigureerd om ongebruikte headers weer te geven met een waarschuwing. Zorg ervoor dat Build + Intellisense is geselecteerd in het vervolgkeuzelijstfilter, zodat u de uitvoer van Include Cleanup kunt zien:

Een schermopname van het venster Foutenlijst.

Het vervolgkeuzefilter is ingesteld op Build + IntelliSense. Er is een waarschuwing zichtbaar: VCIC002 - #include < iostream > wordt niet gebruikt in dit bestand.

grijs weergegeven

Opschonen toont ongebruikte headers door de regel van het ongebruikte headerbestand in de code-editor te dimmen. Beweeg de muisaanwijzer over de grijs weergegeven #include om het snelmenu weer te geven en kies Mogelijke oplossingen weergeven, of klik op de vervolgkeuzelijst met gloeilampen om acties te zien die betrekking hebben op het ongebruikte bestand.

Een schermopname van een gedimde #include < iostream > lijn.

De regel voor #include < iostream > wordt grijs weergegeven omdat de coderegel die gebruikmaakt van iostream wordt uitgecommentarieerd. Deze coderegel is // std::cout << "charSize = " << charSize; Het snelmenu is ook zichtbaar voor deze regel. Er wordt opgegeven dat de #include < iostream > niet wordt gebruikt in dit bestand en er is een link om mogelijke oplossingen te tonen.

Configureren van het opnemen van opschonen met .editorconfig

Er zijn meer opties voor het configureren van het opschonen van inclusies, zoals het uitsluiten van specifieke includes van opschoningssuggesties, aangeven dat sommige headerbestanden nodig zijn zodat de tool ze niet als ongebruikt markeert, enzovoort. Deze opties worden gedefinieerd in een .editorconfig-bestand, dat u aan uw project kunt toevoegen om onder andere consistente coderingsstijlen af te dwingen voor iedereen die in de codebasis werkt. Zie Draagbare, aangepaste editorinstellingen maken met EditorConfigvoor meer informatie over het toevoegen van een .editorconfig bestand aan uw project.

De .editorconfig-instellingen die u kunt gebruiken bij Opschonen zijn:

Instelling Waarden Voorbeeld
cpp_include_cleanup_add_missing_error_tag_type

stelt het foutniveau in voor het toevoegen van transitieve 'include'-berichten.
none
suggestion
warning
error
cpp_include_cleanup_add_missing_error_tag_type = suggestion
cpp_include_cleanup_remove_unused_error_tag_type

hiermee stelt u het foutniveau voor het verwijderen van ongebruikte inclusieberichten in.
none
suggestion
warning
error
dimmed
cpp_include_cleanup_remove_unused_error_tag_type = dimmed
cpp_include_cleanup_excluded_files

sluit de opgegeven bestanden uit van berichten over opschoning. U krijgt helemaal geen suggestie met betrekking tot de koptekst, ongeacht of deze moet worden toegevoegd of dat deze niet wordt gebruikt.
bestandsnaam cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h
cpp_include_cleanup_required_files

Geef op dat het gebruik van bestand1bestand2vereist. Geef bijvoorbeeld aan dat als u atlwin.h gebruikt, altbase.h ook moet worden opgenomen.
bestand1:bestand2 cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h
cpp_include_cleanup_replacement_files

vervangt bestand 1 door bestand 2 tijdens het include-opruimproces. U kunt bijvoorbeeld de voorkeur geven aan het gebruik van cstdio boven stdio.h. Als u een bestand hebt met zowel #include <cstdio> als #include <stdio.h> en u alleen inhoud uit stdio.hgebruikt, zal de instelling 'Include Cleanup' u vertellen dat u stdio.h moet verwijderen omdat het gebruik van cstdio is vervangen door stdio.h tijdens de verwerking. Als u de inhoud van geen van beide gebruikt, zal Include Cleanup u vertellen om beide te verwijderen.
bestand1:bestand2 cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint
cpp_include_cleanup_alternate_files

Genereer geen bericht voor indirecte opname van bestand2 als bestand1 is opgenomen. Als u bijvoorbeeld #include <windows.h> en alleen iets van de indirect opgenomen koptekst winerror.hgebruikt, zal Opnemen opschonen u niet vragen om winerror.htoe te voegen. Handig wanneer u ervoor kiest om een facade-headerbestand op te nemen in plaats van de indirecte bestanden die het bevat.
bestand1:bestand2 cpp_include_cleanup_alternate_files = windows.h:winerror.h, windows.h:minwindef.h

Zie ook

C/C++ Overzicht van opschonen opnemen
Opschoningsberichten opnemen