Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A 17.8 Preview 1-től kezdődően Visual Studio az alábbi módokon törölheti a C és C++ kód minőségét javító fájlokat#include:
- Felajánlja a csak azért lefordított kód fejlécfájljainak hozzáadását, mert egy szükséges fejlécfájlt egy másik fejlécfájl közvetve tartalmaz.
- Felajánlja a nem használt fejlécfájlok eltávolítását – javítva a létrehozási időket.
Ez a cikk bemutatja, hogyan konfigurálhatja az Include Cleanup függvényt a Visual Studióban. Az Include Cleanup szolgáltatással kapcsolatos további információkért lásd: C/C++ Include Cleanup overview.
A Törlés belefoglalása funkció bekapcsolása
A Include Cleanup funkció alapértelmezés szerint ki van kapcsolva.
Kapcsolja be az Eszközök>beállításai>szövegszerkesztő>C/C++>Kódkarbantartó lehetőség kiválasztásával, majd az #include törlés engedélyezése lehetőség kiválasztásával.
Ezután a legördülő listában konfigurálhatja a közvetett fejlécek hozzáadására vagy a nem használt fejlécek eltávolítására vonatkozó értesítések súlyosságát:
A **#include tisztítás engedélyezése** jelölőnégyzet be van jelölve. Megjelennek a **Nem használt include-ok eltávolítására vonatkozó javaslat szintje** és a **Hiányzó include-ok hozzáadására vonatkozó javaslat szintje** legördülő listák. A legördülő lista tartalma a következő: **Csak újrabontás**, **Javaslat**, **Figyelmeztetés** és **Hiba**. A **Nem használt include-ok eltávolítására vonatkozó javaslat szintje** legördülő menü ugyanazokat a lehetőségeket kínálja, de a **Dimmed** lehetőséggel is kiegészül.
Ezek a beállítások szabályozzák a nem használt fejlécekről az Include Cleanup funkció által biztosított értesítéstípust:
Halványított
Az Include Cleanup a nem használt fejléceket a kódszerkesztőben a nem használt fejlécfájl sorának elhalványításával, valamint az Error List ablakban megjelenő üzenettel jelzi. A kódszerkesztőben vigye a kurzort a halványított #include fölé a gyorsműveleti menü megjelenítéséhez, és válassza a Lehetséges javítások megjelenítése lehetőséget, vagy kattintson a villanykörte legördülő listára a nem használt fájlhoz kapcsolódó műveletek megtekintéséhez.
Az #include < iostream > sor halványan jelenik meg, mert az iostreamet használó kódrészlet ki van kommentelve. Ez a kódsor a következő: // std::cout << "charSize = " << charSize;. A gyors műveletek menüje is látható ennél a sornál. Az "íostream" < #include > nincs használatban ebben a fájlban, és tartalmaz egy hivatkozást a lehetséges javításokra.
Csak újrabontás: Az Include Cleanup olyan műveleteket kínál, amelyeket a kódszerkesztő gyorsműveleti menüjében hajthat végre, ha az egérmutatót egy #includefölé viszi, vagy a kurzort a sorra helyezi, és nyomja le a #include Ctrl+period billentyűkombinációt:
Ha a kurzort a #include iostream fölé viszi, egy villanykörte jelenik meg azzal a szöveggel, hogy az #include iostream nem szerepel ebben a fájlban."
Javaslat, figyelmeztetés, hiba: Az Include Cleanup az Include Cleanup-üzeneteket javaslatként, figyelmeztetésként vagy hibaként jelenítheti meg a Hibalista ablakban. Ön határozza meg, hogy melyiket. A hibalista alábbi képernyőképén a Include Cleanup úgy van konfigurálva, hogy figyelmeztetéssel jelenítse meg a nem használt fejléceket. Győződjön meg arról, hogy a Build + Intellisense elem ki van választva a legördülő szűrőben, hogy látható legyen a Tartalmazza a takarítást kimenet:
A legördülő szűrő **Build + IntelliSense** értékre van állítva. Megjelenik egy figyelmeztetés: VCIC002 - "#include
Kapcsolja be a Eszközök>Beállítások>Minden beállítás>Nyelvek>C/C++>Kódtisztítás>Include-ok tisztítása lehetőség kiválasztásával. A legördülő menük segítségével beállíthatja, hogyan szeretne értesítést kapni a nem használt #include utasítások kiemelésének lehetőségeiről, #include az optimalizálható utasításokról (a szükséges átvitt elemek közvetlen hozzáadása után eltávolítva), valamint az átvitt állapotú hiányzó #include utasításokról.
Képernyőkép, amely a legördülő menüket mutatja a kódszerkesztőben a nem használt fejlécfájlok, az optimalizálható fejlécfájlok és a tranzitívan befoglalt fejlécfájlok kiemelési módjának kiválasztásához.
A lehetőségek jelentése:
Halványított
Az Include Cleanup a nem használt fejléceket a kódszerkesztőben a nem használt fejlécfájl sorának elhalványításával, valamint a Hibalista ablakban megjelenő üzenet formájában jelzi. A kódszerkesztőben vigye a kurzort a halványított #include fölé a gyorsműveleti menü megjelenítéséhez, és válassza a Lehetséges javítások megjelenítése lehetőséget, vagy kattintson a villanykörte legördülő listára a nem használt fájlhoz kapcsolódó műveletek megtekintéséhez.
A "#include
Nincs: Ne tegyen semmit. Az Include Cleanup továbbra is olyan műveleteket kínál, amelyeket a gyorsművelet menüben hajthat végre a kódszerkesztőben, ha az egérmutatót egy #includefölé viszi, vagy a kurzort a sorra helyezi, és nyomja le a #include Ctrl+period billentyűkombinációt:
Javaslat, figyelmeztetés, hiba: Az Include Cleanup üzenetei javaslatként, figyelmeztetésként vagy hibaként jelenhetnek meg a Hibalista ablakában. Ön határozza meg, hogy melyiket. A hibalista alábbi képernyőképén a Include Cleanup úgy van konfigurálva, hogy figyelmeztetéssel jelenítse meg a nem használt fejléceket. Győződjön meg arról, hogy a Build + Intellisense elem ki van választva a legördülő szűrőben, hogy látható legyen a Tartalmazza a takarítást kimenet:
A legördülő szűrő **Build + IntelliSense** értékre van állítva. Megjelenik egy figyelmeztetés: VCIC002 - "#include
Egyéb konfigurációs beállítások
További include-ok tisztítása beállítások érhetők el a Eszközök>Beállítások>Szövegszerkesztő>C/C++>Kódtisztítás alatt:
-
Az include-ok rendezése: Megjelöli a rendezést igénylő
#includeinclude-direktívákat. Válassza ki a Hibalista ablakban megjelenő üzenet súlyossági értesítési szintjét: Nincs (a funkció ki van kapcsolva), Javaslat, Figyelmeztetés vagy Hiba. -
Stílus: Az utasítások rendezési módját
#includeszabályozza. Válassza a Figyelmen kívül hagyás lehetőséget, ha a zárójelek stílusának figyelembevétele nélkül szeretne rendezni, a Idézőjelek lehetőséget, ha az idézőjeles include-okat a csúcsos zárójelek közötti include-ok fölé szeretné rendezni, vagy a Csúcsos zárójelek lehetőséget, ha a csúcsos zárójelek közötti include-okat az idézőjeles include-ok fölé szeretné rendezni. - Kis- és nagybetűk megkülönböztetése: Ha be van jelölve, a rendezés a fájlnevek összehasonlításakor megkülönbözteti a kis- és nagybetűket. Ha nincs bejelölve, a rendezés nem tesz különbséget a kis- és nagybetűk között.
További Include Cleanup beállítások érhetők el az Eszközök>Beállítások>Minden beállítás>Nyelvek>C/C++>Kódtisztítás>Include Cleanup alatt:
- Speciális szűrés: Ha kijelöl egy tagfüggvényt egy származtatott osztályobjektumon, de a függvény az alaposztályban van definiálva, az eszköz nem javasolja az alaposztály fejlécének hozzáadását. Ezzel a beállítással csökkentheti a zajos javaslatokat, ha a használt szimbólumok nem a közvetlenül hivatkozott típusból, hanem alaposztályokból származnak.
- A #include irányelvek rendezése az include-ok tisztítását célzó szerkesztések után: Ha be van jelölve, a beépített, include-ok rendezésére szolgáló funkció minden Include Cleanup művelet után lefut.
- A #include irányelvek formázása az include-ok megtisztítása során végzett szerkesztések után: Ha ki van választva, a formázási parancs az Include Cleanup művelet után lefut.
Törlés beépítésének beállítása .editorconfig
A Törlés belefoglalása funkció több lehetőséggel is rendelkezik, például kizárja a megadott elemeket a törlési javaslatokból, és jelzi, hogy szükség van néhány fejlécfájlra, hogy az eszköz ne jelölje meg őket használaton kívüliként. Definiálja ezeket a beállításokat egy .editorconfig fájlban. Adja hozzá ezt a fájlt a projekthez, hogy egységes kódolási stílusokat kényszerítsen ki a kódbázisban dolgozó összes felhasználó számára. További információ a .editorconfig fájl projekthez való hozzáadásáról: Hordozható, egyéni szerkesztőbeállítások létrehozása a Szerkesztőkonfigurációval.
Az .editorconfig Include Cleanup használatával használható beállítások a következők:
| Setting | Értékek | Example |
|---|---|---|
cpp_include_cleanup_add_missing_error_tag_type
Beállítja a tranzitív include-üzenetek hozzáadásának hibaszintjét. |
nonesuggestionwarningerror |
cpp_include_cleanup_add_missing_error_tag_type = suggestion |
cpp_include_cleanup_alternate_files
Elnyomja a közvetett beillesztések üzeneteit. Ha például a(z) #include <windows.h> fájlt használja, és csak a közvetve belefoglalt winerror.h vagy minwindef.h fejlécfájlok tartalmát használja, az eszköz nem javasolja ezek hozzáadását. |
file1:file2[:file3...][,file4:file5...] |
cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h
Vagy cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h,umbrella.h:internal.h |
cpp_include_cleanup_excluded_files
Kizárja a megadott fájlokat az Include Cleanup üzenetekből. Nem fog kapni javaslatot a fejléc kapcsán arra vonatkozóan, hogy hozzá kellene adnia, vagy hogy nincs használatban. |
filename | cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h |
cpp_include_cleanup_remove_unused_error_tag_type
Beállítja a nem használt üzenetek eltávolítására vonatkozó hibaszintet. |
nonesuggestionwarningerrordimmed |
cpp_include_cleanup_remove_unused_error_tag_type = dimmed |
cpp_include_cleanup_replacement_files
A file1-t cseréli file2-re az Include Cleanup feldolgozás során. Például előfordulhat, hogy a cstdio-t részesíti előnyben a stdio.h-tel szemben. Ha rendelkezik olyan fájllal, amely mind #include <cstdio>, mind #include <stdio.h> tartalmaz, és Ön csak stdio.h-ból/-ből használ tartalmat, ezzel a beállítással az Include Cleanup azt fogja javasolni, hogy távolítsa el stdio.h-t, mivel a feldolgozás során cstdio használatát stdio.h-re cserélte. Ha egyikből sem használja a tartalmat, az Include Cleanup azt fogja mondani, hogy távolítsa el mindkettőt. |
file1:file2 | cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint |
cpp_include_cleanup_required_files
Adja meg, hogy az 1. fájl használatához fájl2 szükséges. Adja meg például, hogy ha használja atlwin.h , azt altbase.h is tartalmaznia kell. |
file1:file2 | cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h |
cpp_sort_includes_error_tag_type
A sort-includes üzenetek hibaszintjét állítja be. none kikapcsolja a funkciót.
suggestion egy ... hullámos aláhúzást jelenít meg, és hozzáad egy üzenetet a hibalistához.
warning zöld hullámos váltógombot jelenít meg, és figyelmeztetést ad hozzá.
error piros hullámos váltógombot jelenít meg, és hibát ad hozzá. |
nonesuggestionwarningerror |
cpp_sort_includes_error_tag_type = suggestion |
cpp_sort_includes_priority_case_sensitive
Ha a true be van kapcsolva, a rendezés a fájlneveket a kis- és nagybetűk megkülönböztetésével hasonlítja össze. Ha a(z) false be van kapcsolva, a rendezés nem érzékeny a kis- és nagybetűkre. |
truefalse |
cpp_sort_includes_priority_case_sensitive = false |
cpp_sort_includes_priority_style
Azt határozza meg, hogy a rendezés figyelembe veszi-e a zárójelstílust. ignore a zárójelek figyelmen kívül hagyásával rendez.
quoted az idézett rendezések a szögletes zárójelek fölött is szerepelnek.
angle_brackets a szögletes zárójelek közötti include-okat az idézőjeles include-ok fölé rendezi. |
ignorequotedangle_brackets |
cpp_sort_includes_priority_style = quoted |
A következő beállítások érhetők el 2026 Visual Studio-tól kezdve:
| Setting | Értékek | Example |
|---|---|---|
cpp_include_cleanup_format_after_edits
A(z) true esetén a formázási parancs minden Include Cleanup művelet után lefut. Akkor hasznos, ha konfigurálva van a clang-formátum az #include irányelvek rendezésére. |
truefalse |
cpp_include_cleanup_format_after_edits = true |
cpp_include_cleanup_sort_after_edits
Amikor true, bármely Include Cleanup művelet után lefuttatja a beépített include-rendezési funkciót. Hasznos, ha nem clang-formátumot használ az #include irányelvek rendezéséhez. |
truefalse |
cpp_include_cleanup_sort_after_edits = true |
A nem használt include-okra vonatkozó üzenetek letiltása kódból
A Visual Studio 2026-tól kezdve egyetlen #include direktíván is elnyomhatja a Include Cleanup üzeneteit, ha ugyanazon a soron hozzáad egy // VCIC-Excluded megjegyzést. A Include Cleanup eszköz nem javasolja a belefoglalás eltávolítását, még akkor sem, ha nem használtnak tűnik. Adjon meg opcionális indoklási szöveget a jelölő után, hogy a jövőbeli olvasók tudják, miért van a belefoglalás:
#include "Header2.h" // VCIC-Excluded: needed for the ATL macros used below
A villanykörte menüvel is hozzáadhatja a // VCIC-Excluded megjegyzést egy #include irányelvhez. Győződjön meg arról, hogy az Include-ok tisztítása be van kapcsolva az Eszközök>Beállítások>Összes beállítás>Nyelvek>C/C++>Kódtisztítás>Include-ok tisztítása menüpontban, mert alapértelmezés szerint ki van kapcsolva. Ezután vigye a kurzort a(z) #include sorra, majd válassza az Egyéb javítások>VCIC002 letiltása a forrásban::
A // VCIC-Excluded megjegyzés csak a #include fájlra vonatkozik. A(z) .editorconfig fájlban a(z) cpp_include_cleanup_excluded_files beállítása ezt a kizárást minden, a(z) .editorconfig hatálya alá tartozó fájlra alkalmazza.
Lásd még
C/C++ A törlés belefoglalása – áttekintés
Törlési üzenetek belefoglalása