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 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 #include
beweegt, of plaats de cursor op de #include
regel en druk op Ctrl+punt:
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:
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.
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.h gebruikt, 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.h gebruikt, zal Opnemen opschonen u niet vragen om winerror.h toe 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