Udostępnij za pośrednictwem


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:

Okno dialogowe Opcje narzędzi otwarte w oknie dialogowym Oczyszczanie kodu C/C++ > edytora > tekstu.

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 #includena obiekcie lub umieszczeniu kursora w wierszu i naciśnięciu #include Ctrl+kropka:

Zrzut ekranu przedstawiający szybką akcję usuwania nieużywanego nagłówka

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:

Zrzut ekranu przedstawiający okno Lista błędów.

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.

Zrzut ekranu przedstawiający wygaszone #include < linii iostream > .

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.hprogramu , 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.helementu . 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