Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vanaf 17.8 Preview 1 kan Visual Studio opschonen welke bestanden u #include 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 Include Cleanup is standaard uitgeschakeld.
Schakel het in door Extra>Opties>Teksteditor>C/C++>Code opschonen te selecteren en #include opschonen inschakelen te selecteren.
Gebruik vervolgens de vervolgkeuzelijsten om de ernst in te stellen van de meldingen over mogelijkheden om indirecte headers toe te voegen of ongebruikte headers te verwijderen:
Het selectievakje **#include opschonen** is ingeschakeld. De vervolgkeuzelijsten voor **suggestieniveau voor het verwijderen van ongebruikte includebestanden** en **suggestieniveau voor het toevoegen van ontbrekende includebestanden** worden weergegeven. 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 **Dimmed** toe.
Deze opties bepalen welk type melding de functie Include Cleanup geeft over ongebruikte headers:
grijs weergegeven
Include Cleanup toont ongebruikte headerbestanden door de regel met het ongebruikte headerbestand in de code-editor te dimmen en door een bericht weer te geven in het venster Foutenlijst. Beweeg in de code-editor de cursor over het vervaagde #include om het menu met snelle acties te openen en kies Mogelijke oplossingen weergeven, of klik op het vervolgkeuzemenu van het gloeilamppictogram om acties te bekijken die verband houden met 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.
Alleen refactoring: Include Cleanup biedt acties die u kunt uitvoeren via het menu met snelle acties in de code-editor wanneer u de muisaanwijzer op een #include houdt, of de cursor op de #include-regel plaatst en op Ctrl+punt drukt:
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 kan Include Cleanup-berichten tonen als suggesties, waarschuwingen of fouten in het venster Foutenlijst. U bepaalt welke. In de volgende schermopname van de Foutenlijst is Include Cleanup zo geconfigureerd dat ongebruikte headerbestanden met een waarschuwing worden weergegeven. 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
Schakel dit in door Extra>Opties>Alle instellingen>Talen>C/C++>Code opschonen>Include opschonen te selecteren. Gebruik de vervolgkeuzelijsten om te configureren hoe u een melding wilt ontvangen over mogelijkheden om ongebruikte instructies te markeren, #include instructies die kunnen worden geoptimaliseerd (verwijderd nadat de vereiste transitieve insluitingen rechtstreeks zijn verwijderd) en ontbrekende #include#include instructies die transitief zijn opgenomen.
Schermopname van vervolgkeuzelijsten voor het kiezen van het markeren van een ongebruikte header in de code-editor, de headers die kunnen worden geoptimaliseerd en de headers die transitief zijn opgenomen.
De betekenis van de opties:
grijs weergegeven
Include Cleanup toont ongebruikte headerbestanden door de regel met het ongebruikte headerbestand in de code-editor te dimmen en met een bericht in het venster Foutenlijst. Beweeg in de code-editor de aanwijzer over het vervaagde #include om het menu met snelle acties te openen en kies Mogelijke oplossingen weergeven, of klik op het vervolgkeuzemenu van het gloeilamppictogram om acties te bekijken die verband houden met het ongebruikte bestand.
De regel voor '#include
Geen: Geen actie ondernemen. Include Cleanup biedt nog steeds acties die u in de code-editor kunt uitvoeren via het snelactiemenu wanneer u met de muisaanwijzer boven een #include beweegt, of door de cursor op de regel #include te plaatsen en op Ctrl+. te drukken:
Suggestie, waarschuwing, fout: Include Cleanup kan Include Cleanup-berichten weergeven als suggesties, waarschuwingen of fouten in het venster Foutenlijst. U bepaalt welke. In de volgende schermopname van de Foutenlijst is Include Cleanup zo geconfigureerd dat ongebruikte headerbestanden met een waarschuwing worden weergegeven. 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
Andere configuratieopties
Meer instellingen voor opschonen zijn beschikbaar onder Extra Opties>>Teksteditor>C/C++>Code opschonen:
-
Sorteren omvat: Markeringsrichtlijnen
#includedie moeten worden gesorteerd. Kies het ernstmeldingsniveau van het bericht dat wordt weergegeven in het venster Foutenlijst : Geen (functie is uitgeschakeld), Suggestie, Waarschuwing of Fout. -
Stijl: Bepaalt hoe
#includeinstructies worden gesorteerd. Kies Negeren om te sorteren zonder rekening te houden met het type haakjes, Aanhalingstekens om include-instructies tussen aanhalingstekens boven include-instructies tussen punthaken te sorteren, of Punthaken om include-instructies tussen punthaken boven include-instructies tussen aanhalingstekens te sorteren. - Hoofdlettergevoelig: bij het selecteren van sorteringen worden bestandsnamen hoofdlettergevoelig weergegeven. Wanneer deze optie is uitgeschakeld, is sorteren niet hoofdlettergevoelig.
Meer instellingen voor include-opruiming zijn beschikbaar onder Extra>Opties>Alle instellingen>Talen>C/C++>Code opschoning>Include cleanup:
- Geavanceerde filtering: Wanneer deze optie is geselecteerd en u een lidfunctie aanroept op een object van een afgeleide klasse, terwijl de functie is gedefinieerd in de basisklasse, stelt het hulpprogramma niet voor om het headerbestand van de basisklasse toe te voegen. Schakel deze optie in om ruissuggesties te verminderen wanneer de symbolen die u gebruikt afkomstig zijn van basisklassen in plaats van het type waarnaar u rechtstreeks verwijst.
- Sorteer de #include-directieven na het aanbrengen van wijzigingen voor het opschonen van includebestanden: Wanneer deze optie is geselecteerd, wordt de ingebouwde functie voor het sorteren van includebestanden uitgevoerd na elke actie Include Cleanup.
- De #include-richtlijnen opmaken nadat u wijzigingen hebt aangebracht voor het opschonen van include-richtlijnen: Wanneer deze optie is geselecteerd, wordt de opdracht voor opmaak uitgevoerd na een actie voor het opschonen van include-richtlijnen.
Configureren van het opnemen van opschonen met .editorconfig
De functie voor het opschonen van include-instructies heeft meer opties, zoals het uitsluiten van opgegeven include-instructies van opschoningssuggesties en het aangeven dat sommige headerbestanden vereist zijn, zodat het hulpprogramma deze niet als ongebruikt markeert. Definieer deze opties in een .editorconfig bestand. Voeg dit bestand toe aan uw project om consistente coderingsstijlen af te dwingen voor iedereen die in de codebasis werkt. Zie .editorconfigvoor meer informatie over het toevoegen van een 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
Hiermee stelt u het foutniveau voor het toevoegen van transitieve insluitingsberichten in. |
nonesuggestionwarningerror |
cpp_include_cleanup_add_missing_error_tag_type = suggestion |
cpp_include_cleanup_alternate_files
Berichten onderdrukken voor indirecte insluitingen. Bijvoorbeeld: als u #include <windows.h> en alleen inhoud gebruikt uit de indirect opgenomen headerbestanden winerror.h of minwindef.h, stelt het hulpprogramma niet voor deze toe te voegen. |
file1:file2[:file3...][,file4:file5...] |
cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h
of cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h,umbrella.h:internal.h |
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_remove_unused_error_tag_type
Hiermee stelt u het foutniveau in voor het verwijderen van ongebruikte include-berichten. |
nonesuggestionwarningerrordimmed |
cpp_include_cleanup_remove_unused_error_tag_type = dimmed |
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_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_sort_includes_error_tag_type
Hiermee stelt u het foutniveau van sort-includes-berichten in. none zet de functie uit.
suggestion toont een ... kronkel en voegt een bericht toe aan de lijst met fouten.
warning toont een groene kronkel en voegt een waarschuwing toe.
error toont een rode kronkellijn en geeft een fout aan. |
nonesuggestionwarningerror |
cpp_sort_includes_error_tag_type = suggestion |
cpp_sort_includes_priority_case_sensitive
Wanneer true, sorteer vergelijkt, zijn bestandsnamen hoofdlettergevoelig. Wanneer false, is sortering hoofdletterongevoelig. |
truefalse |
cpp_sort_includes_priority_case_sensitive = false |
cpp_sort_includes_priority_style
Hiermee bepaalt u of voor de sorteervolgorde rekening wordt gehouden met de stijl van vierkante haken. ignore sorteert zonder haakjes mee te nemen.
quoted sorteert include-instructies tussen aanhalingstekens boven include-instructies tussen punthaken.
angle_brackets sorteert includes tussen punthaken boven includes tussen aanhalingstekens. |
ignorequotedangle_brackets |
cpp_sort_includes_priority_style = quoted |
De volgende instellingen zijn beschikbaar vanaf Visual Studio 2026:
| Instelling | Waarden | Voorbeeld |
|---|---|---|
cpp_include_cleanup_format_after_edits
Wanneer true, voert u de opmaakopdracht uit na elke actie 'Opschonen opnemen'. Handig wanneer u een clang-indeling hebt geconfigureerd om uw #include instructies te sorteren. |
truefalse |
cpp_include_cleanup_format_after_edits = true |
cpp_include_cleanup_sort_after_edits
Wanneer true, wordt na elke actie voor het opschonen van include-instructies de ingebouwde functie voor het sorteren van include-instructies uitgevoerd. Handig wanneer u geen clang-indeling gebruikt om uw #include instructies te sorteren. |
truefalse |
cpp_include_cleanup_sort_after_edits = true |
Niet-gebruikte berichten onderdrukken via code
Vanaf Visual Studio 2026 kunt u Include Cleanup-meldingen voor één #include-richtlijn onderdrukken door op dezelfde regel een // VCIC-Excluded-opmerking toe te voegen. Het hulpprogramma Include Cleanup stelt niet voor om die include te verwijderen, zelfs als deze ongebruikt lijkt. Geef optionele redentekst op na de markering, zodat toekomstige lezers weten waarom de insluiting er is:
#include "Header2.h" // VCIC-Excluded: needed for the ATL macros used below
U kunt ook het gloeilampmenu gebruiken om de // VCIC-Excluded opmerking toe te voegen aan een #include richtlijn. Zorg ervoor dat Include cleanup is ingeschakeld via Extra>Opties>Alle instellingen>Talen>C/C++>Code opschonen>Include cleanup omdat dit standaard is uitgeschakeld. Plaats vervolgens de muisaanwijzer op de #include lijn en selecteer Andere oplossingen>onderdrukken VCIC002 in de bron::
De // VCIC-Excluded opmerking is alleen van toepassing op het #include bestand. Het instellen van cpp_include_cleanup_excluded_files in .editorconfig zorgt ervoor dat die uitsluiting geldt in elk bestand dat onder de .editorconfig valt.
Zie ook
C/C++ Overzicht van opschonen opnemen
Opschoningsberichten opnemen