Konfigurowanie oczyszczania dołączania C/C++ w programie Visual Studio
Począwszy od wersji 17.8 (wersja zapoznawcza 1), program Visual Studio może wyczyścić s #include
, aby poprawić jakość kodu C i C++ na następujące sposoby:
- Oferuje dodawanie plików nagłówkowych dla kodu kompilowanego tylko dlatego, że wymagany plik nagłówka jest dołączany pośrednio przez inny plik nagłówkowy.
- Oferty usuwania nieużywanych plików nagłówka — skraca czas kompilacji.
W tym artykule opisano sposób konfigurowania oczyszczania dołączania w programie Visual Studio. Aby uzyskać więcej informacji na temat funkcji Oczyszczanie dołączania, zobacz Omówienie funkcji Oczyszczania dołączania języka C/C++.
Włącz oczyszczanie dołączania
Funkcja Uwzględnij oczyszczanie jest domyślnie włączona. Jeśli nie jest aktywna, możesz ją włączyć za pomocą opcji Narzędzia>Opcje>Edytor>tekstów C/C++>Oczyszczanie kodu i wybrać pozycję Włącz #include oczyszczanie.
Następnie użyj list rozwijanych, aby skonfigurować sposób powiadamiania o możliwościach dodawania nagłówków pośrednich lub usuwania nieużywanych nagłówków:
Pole wyboru Włącz #uwzględnij czyszczenie jest zaznaczone. Listy rozwijane Usuń nieużywane zawierają poziom sugestii, a opcja Dodaj brakujące zawiera poziom sugestii. Zostanie wyświetlona zawartość listy rozwijanej: **Tylko refaktoryzacja**, **Sugestia**, **Ostrzeżenie** i **Błąd**. Lista rozwijana **Usuń nieużywane zawiera poziom sugestii** oferuje te same opcje, ale także dodaje wygaszone.
Znaczenie opcji na poziomie sugestii to:
Tylko refaktoryzacja: Opcja Uwzględnij czyszczenie oferuje akcje, które można wykonać za pomocą menu szybkiej akcji po umieszczeniu wskaźnika myszy #include
na obiekcie lub umieszczeniu kursora w wierszu i naciśnięciu #include
Ctrl+kropka:
Po umieszczeniu kursora na pozycji # include iostream zostanie wyświetlona żarówka z tekstem, który # include iostream nie jest używany w tym pliku."
Sugestia, Ostrzeżenie, Błąd: Uwzględnij czyszczenie oferuje akcje, które można wykonać za pośrednictwem sugestii, ostrzeżeń lub błędów w oknie Lista błędów. Określasz, które z nich. Na poniższym zrzucie ekranu listy błędów funkcja Uwzględnij oczyszczanie jest skonfigurowana do wyświetlania nieużywanych nagłówków z ostrzeżeniem. Upewnij się, że pozycja Build + Intellisense jest zaznaczona w filtrze listy rozwijanej, aby wyświetlić dane wyjściowe Include Cleanup:
Filtr listy rozwijanej jest ustawiony na build + IntelliSense. Ostrzeżenie jest widoczne: VCIC002 — #include < > iostream nie jest używana w tym pliku".
Wygaszony
Funkcja Include Cleanup wyświetla nieużywane nagłówki, przyciemniając wiersz nieużywanego pliku nagłówka w edytorze kodu. Umieść kursor na wygaszonej, #include
aby wyświetlić menu szybkiej akcji i wybierz pozycję Pokaż potencjalne poprawki lub kliknij listę rozwijaną żarówki, aby wyświetlić akcje związane z nieużywanym plikiem.
Wiersz #include < iostream > jest wygaszony, ponieważ wiersz kodu używający strumienia iostream jest skomentowany. Ten wiersz kodu to // std::cout << "charSize = " << charSize; Menu szybkiej akcji jest również widoczne dla tego wiersza. Mówi, że #include < iostream > nie jest używany w tym pliku i ma link do Pokaż potencjalne poprawki.
Konfigurowanie oczyszczania dołączania za pomocą polecenia .editorconfig
Istnieje więcej opcji konfigurowania funkcji Oczyszczanie dołączania, takie jak wykluczenie określonych elementów z sugestii oczyszczania, co oznacza, że niektóre pliki nagłówkowe są wymagane, aby narzędzie nie oznaczało ich jako nieużywanych itd. Te opcje są definiowane w .editorconfig
pliku, który można dodać do projektu między innymi do wymuszania spójnych stylów kodowania dla wszystkich, którzy pracują w bazie kodu. Aby uzyskać więcej informacji na temat dodawania .editorconfig
pliku do projektu, zobacz Create portable, custom editor settings with EditorConfig (Tworzenie przenośnych, niestandardowych ustawień edytora za pomocą polecenia EditorConfig).
Ustawienia .editorconfig
, których można używać z funkcją Include Cleanup, to:
Ustawienie | Wartości | Przykład |
---|---|---|
cpp_include_cleanup_add_missing_error_tag_type Ustawia poziom błędu dodawania przechodnich komunikatów dołączania. |
none suggestion warning error |
cpp_include_cleanup_add_missing_error_tag_type = suggestion |
cpp_include_cleanup_remove_unused_error_tag_type Ustawia poziom błędu usuwania nieużywanych komunikatów dołączania. |
none suggestion warning error dimmed |
cpp_include_cleanup_remove_unused_error_tag_type = dimmed |
cpp_include_cleanup_excluded_files Wyklucza określone pliki z komunikatów Include Cleanup. Nie otrzymasz w ogóle sugestii związanej z nagłówkiem, niezależnie od tego, czy chcesz ją dodać, czy nie jest ona nieużywany. |
filename | cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h |
cpp_include_cleanup_required_files Określ, że użycie pliku file1 wymaga pliku File2. Na przykład określ, że jeśli używasz, należy altbase.h również uwzględnić te elementyatlwin.h . |
file1:file2 | cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h |
cpp_include_cleanup_replacement_files Zastępuje plik1 plikiem file2 podczas przetwarzania include cleanup. Na przykład możesz wolisz użyć polecenia cstdio over stdio.h . Jeśli masz plik z elementami i i używasz zawartości tylko z stdio.h programu , z tym ustawieniem Uwzględnij czyszczenie poinformuje Cię o usunięciustdio.h , ponieważ podczas przetwarzania zamieniono użycie cstdio elementu na stdio.h .#include <stdio.h> #include <cstdio> Jeśli nie używasz zawartości z obu tych elementów, funkcja Include Cleanup poinformuje Cię o usunięciu obu tych elementów. |
file1:file2 | cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint |
cpp_include_cleanup_alternate_files Nie generuj komunikatu dla pliku dołączania pośredniego2 , jeśli plik1 jest dołączony. Jeśli na przykład ty i używasz #include <windows.h> tylko elementu z pośrednio dołączonego nagłówka winerror.h , funkcja Include Cleanup nie wyświetli monitu o dodanie winerror.h elementu . Przydatne, jeśli wolisz dołączyć plik nagłówka fasady zamiast pośredniego zawiera go. |
file1:file2 | cpp_include_cleanup_alternate_files = windows.h:winerror.h, windows.h:minwindef.h |
Zobacz też
Omówienie oczyszczania dołączania języka C/C++
Uwzględnij komunikaty oczyszczania