Udostępnij za pomocą


Preferencje stylu kodu i oczyszczanie kodu

Preferencje stylu kodu umożliwiają kontrolowanie aspektów kodu, takich jak styl wcięcia, szerokość tabulacji, znaki końca wiersza, kodowanie i wiele innych opcji formatowania. Ustawienia stylu kodu można zdefiniować na dwa sposoby:

Program Visual Studio można również skonfigurować tak, aby stosować preferencje stylu kodu przy użyciu poleceń Oczyszczanie kodu i Formatowanie dokumentu .

Ustawienia stylu kodu dla projektu można zdefiniować przy użyciu pliku EditorConfig lub dla całego kodu edytowanego w programie Visual Studio na stronie Opcje edytora tekstów .NET lub na stronie Opcje języka C/C++. W przypadku kodu w języku C# można również skonfigurować program Visual Studio, aby zastosować te preferencje stylu kodu przy użyciu poleceń Oczyszczanie kodu (Visual Studio 2019) i Formatowanie dokumentu (Visual Studio 2017).

W przypadku platformy .NET preferencje stylu kodu są oparte na analizatorach platformy kompilatora .NET (Roslyn). Aby uzyskać więcej informacji, zobacz Analiza kodu przy użyciu analizatorów platformy kompilatora .NET (Roslyn).

W programie Visual Studio 2019 w wersji 16.5 lub nowszej pliki zestawu reguł zostały wycofane na rzecz plików EditorConfig dla konfiguracji stylu dla kodu .NET. Aby uzyskać więcej informacji, zobacz Konwertowanie istniejącego pliku zestawu reguł na plik EditorConfig.

Style kodu w plikach EditorConfig

Ustawienia stylu kodu można określić, dodając plik EditorConfig do projektu. Pliki EditorConfig są skojarzone z bazą kodu, a nie kontem personalizacji programu Visual Studio. Ustawienia w pliku EditorConfig mają pierwszeństwo przed stylami kodu określonymi w oknie dialogowym Opcje. Użyj pliku EditorConfig, jeśli chcesz wymusić style kodowania dla wszystkich współautorów w repozytorium lub projekcie. Są one szczególnie przydatne, aby zapewnić spójność w środowisku programowania zespołów.

Aby dodać plik EditorConfig, zobacz Dodawanie i usuwanie plików EditorConfig.

Aby uzyskać informacje referencyjne dotyczące ustawień stylu kodu platformy .NET, zobacz Ustawienia stylu kodu.

Style kodu C/C++ w oknie dialogowym Opcje

Można określić wiele opcji formatowania kodu, takich jak wcięcie i pozycje nawiasów klamrowych. Aby to zrobić, przejdź do pozycji Narzędzia>Opcje>Edytor> tekstuC/C++>Code Style>Formatting (lub wpisz Ctrl + Q i wyszukaj "Formatowanie"). Alternatywnie możesz określić jeden z stylów ClangFormat (lub własny niestandardowy styl ClangFormat ).

Zrzut ekranu przedstawiający okienko Opcje z edytorem tekstu.

Można określić wiele opcji formatowania kodu, takich jak wcięcie i pozycje nawiasów klamrowych. W tym celu przejdź do pozycji Narzędzia>Opcje>Edytor> tekstówC/C++>Formatting (lub wpisz Ctrl + Q i wyszukaj "Formatowanie"). Alternatywnie możesz określić jeden z stylów ClangFormat (lub własny niestandardowy styl ClangFormat ).

Aby uzyskać więcej informacji na temat wszystkich opcji formatowania, zobacz Opcje, Edytor tekstów, C/C++, Formatowanie.

Style kodu platformy .NET w oknie dialogowym Opcje

Preferencje stylu kodu można ustawić dla wszystkich projektów języka C# i Visual Basic, otwierając okno dialogowe Opcje z Menu Narzędzia . W oknie dialogowym Opcje wybierz pozycję Edytor> tekstu [C# lub Visual Basic] >Styl kodu.

  • W przypadku stylów formatowania wybierz opcje w obszarze Formatowanie.
  • W przypadku preferencji stylu kodu skojarzonych z szybkimi akcjami i regułami stylu kodu IDE wybierz opcje w obszarze Ogólne lub Nazewnictwo.

Preferencje stylu kodu można ustawić dla wszystkich projektów języka C# i Visual Basic, otwierając okno dialogowe Opcje z Menu Narzędzia . W oknie dialogowym Opcje wybierz pozycję Edytor tekstu> [C# lub Basic] >Styl kodu>Ogólne.

Każdy element na liście wyświetla podgląd preferencji po wybraniu opcji:

Zrzut ekranu przedstawiający opcje stylu kodu.

Zrzut ekranu przedstawiający opcje stylu kodu.

Opcje ustawione w tym oknie mają zastosowanie do konta personalizacji programu Visual Studio i nie są skojarzone z konkretnym projektem ani bazą kodu. Ponadto nie są wymuszane w czasie kompilacji, w tym w kompilacjach ciągłej integracji. Jeśli chcesz skojarzyć preferencje stylu kodu z projektem i wymusić style podczas kompilacji, określ preferencje w pliku EditorConfig skojarzonym z projektem.

Preferencje i dotkliwość

Dla każdego ustawienia stylu kodu na stronach Opcji Ogólne i Nazewnictwo można ustawić wartości Preferencje i Ważność przy użyciu list rozwijanych w każdym wierszu. Ważność można ustawić jako Tylko refaktoryzacja, Sugestia, Ostrzeżenie, lub Błąd.

  • Preferencje stylu kodu na stronach Ogólne i Opcje nazewnictwa określają szybkie akcje dla stylu kodu. Ikona Quick Actions żarówki , ikona żarówki błędu lub ikona śrubokręta jest wyświetlana, gdy jest używany styl inny niż preferowany, i można wybrać opcję z listy Quick Actions, aby automatycznie przepisać kod do preferowanego stylu.
  • Jeśli chcesz, aby naruszenie było wyświetlane tylko jako szybka akcja, a także zostało wykluczone z oczyszczania kodu, ustaw surowość na Tylko refaktoryzacja.
  • Jeśli chcesz, aby naruszenie pojawiło się w oknie Lista błędów, a także w obszarze Szybkie akcje i uwzględnić je w czyszczeniu kodu, ustaw ważność na Sugestia, Ostrzeżenie lub Błąd. Naruszenia są wyświetlane jako sugestia (komunikat), ostrzeżenie lub błąd po ustawieniu danych wyjściowych w oknie Lista błędów na build + IntelliSense. Są one wykluczone tylko z danych wyjściowych Kompilacji.

Ustawienia w pliku EditorConfig mają pierwszeństwo przed stylami kodu ustawionymi na tych stronach.

Wymuszanie stylów kodu na kompilacji

Począwszy od programu Visual Studio 2019 w wersji 16.8, która zawiera zestaw .NET 5.0 RC2 SDK, można wymusić konwencje kodowania platformy .NET na kompilacji dla wszystkich projektów platformy .NET. W czasie kompilacji naruszenia stylu kodu platformy .NET będą wyświetlane jako ostrzeżenia lub błędy z prefiksem "IDE". Umożliwia to ścisłe wymuszanie spójnych stylów kodu w bazie kodu.

Stosowanie stylów kodu

Po zmianie stylu kodu na stronie Opcje lub dodaniu pliku EditorConfig do projektu w programie Visual Studio tylko nowe wiersze kodu są formatowane na podstawie nowych ustawień. Formatowanie istniejącego kodu nie zostanie zmienione, chyba że uruchomisz jedno z następujących poleceń:

  • oczyszczanie kodu.

    Wybierz czyszczenie kodu w edytorze programu Visual Studio lub naciśnij Ctrl+K, Ctrl+E. To polecenie dotyczy ustawień odstępów, takich jak styl wcięcia i wybrane ustawienia stylu kodu, takie jak preferencje nawiasów.

  • Formatuj dokument.

    Wybierz Edytuj>Zaawansowane>Formatuj Dokumentlub naciśnij Ctrl+K, Ctrl+D w profilu domyślnym. To polecenie dotyczy tylko ustawień odstępu, takich jak styl wcięcia.

Stosowanie stylów kodu przy użyciu czyszczenia kodu

Aby zastosować style kodu z pliku EditorConfig lub z opcji Style kodu, użyj przycisku Oczyszczanie kodu w dolnej części edytora (klawiatura: Ctrl+K, Ctrl+E). Jeśli plik EditorConfig istnieje dla projektu, są to ustawienia, które mają pierwszeństwo.

Wskazówka

Zasady platformy .NET skonfigurowane jako tylko do refaktoryzacji nie uczestniczą w czyszczeniu kodu, ale można je stosować indywidualnie za pomocą menu Szybkie akcje i refaktoryzacje.

Oto jak zastosować style kodu:

  1. Najpierw skonfiguruj style kodu, które chcesz zastosować (w jednym z dwóch profilów) w oknie dialogowym Konfigurowanie oczyszczania kodu. Aby otworzyć to okno dialogowe, kliknij strzałkę rozwijania obok ikony miotła oczyszczania kodu, a następnie wybierz Skonfiguruj oczyszczanie kodu. Alternatywnie, skorzystaj z menu Analiza>Oczyszczanie Kodu.

    zrzut ekranu przedstawiający konfigurowanie oczyszczania kodu.

    Aby uzyskać mapowanie poprawek oczyszczania kodu platformy .NET na reguły stylu kodu platformy .NET, zobacz Ustawienia oczyszczania kodu platformy .NET.

    Opcje języka C/C++ obejmują język C++ w nazwie poprawki.

  2. Po skonfigurowaniu oczyszczania kodu użyj jednej z następujących metod, aby uruchomić oczyszczanie kodu:

    • Kliknij ikonę miotły lub naciśnij Ctrl+K, Ctrl+E.

      Zrzut ekranu funkcji Wykonaj oczyszczanie kodu.

    • Aby uruchomić oczyszczanie kodu w całym projekcie lub rozwiązaniu, kliknij prawym przyciskiem myszy nazwę projektu lub rozwiązania w Eksploratorze rozwiązań, wybierz polecenie Analizuj i oczyszczanie kodu, a następnie wybierz polecenie Uruchom oczyszczanie kodu.

      Zrzut ekranu przedstawiający uruchamianie oczyszczania kodu w całym projekcie lub rozwiązaniu.

  3. (Opcjonalnie) Jeśli chcesz, aby ustawienia stylu kodu były stosowane za każdym razem, gdy zapisujesz plik, przejdź do pozycji Opcje> Czyszczeniekodu> tekstów i wybierz pozycję Uruchom profil oczyszczania kodu podczas zapisywania.

W przypadku plików kodu w języku C# program Visual Studio ma przycisk Czyszczenie kodu w dolnej części edytora (klawiatura: Ctrl+K, Ctrl+E) do zastosowania stylów kodu z pliku EditorConfig lub ze strony opcji Styl kodu. Jeśli plik EditorConfig istnieje dla projektu, są to ustawienia, które mają pierwszeństwo.

Wskazówka

Reguły skonfigurowane z priorytetem Brak nie uczestniczą w uporządkowaniu kodu, ale można je stosować indywidualnie za pomocą menu Szybkie akcje i refaktoryzacje.

Oto jak zastosować style kodu:

  1. Najpierw skonfiguruj style kodu, które chcesz zastosować (w jednym z dwóch profilów) w oknie dialogowym Konfigurowanie oczyszczania kodu. Aby otworzyć to okno dialogowe, kliknij strzałkę rozwijania obok ikony miotła oczyszczania kodu, a następnie wybierz Skonfiguruj oczyszczanie kodu.

    zrzut ekranu przedstawiający konfigurowanie oczyszczania kodu.

  2. Po skonfigurowaniu oczyszczania kodu użyj jednej z następujących metod, aby uruchomić oczyszczanie kodu:

    • Kliknij ikonę miotły lub naciśnij Ctrl+K, Ctrl+E, aby uruchomić oczyszczanie kodu.

      Zrzut ekranu funkcji Wykonaj oczyszczanie kodu.

    • Aby uruchomić oczyszczanie kodu w całym projekcie lub rozwiązaniu, kliknij prawym przyciskiem myszy nazwę projektu lub rozwiązania w eksploratorze rozwiązań , wybierz pozycję Analizuj i oczyszczanie kodu, a następnie wybierz uruchom oczyszczanie kodu.

      Zrzut ekranu przedstawiający uruchamianie oczyszczania kodu w całym projekcie lub rozwiązaniu.

    Jeśli chcesz, aby ustawienia stylu kodu były stosowane za każdym razem, gdy zapisujesz plik, możesz chcieć oczyszczanie kodu podczas zapisywania rozszerzenia.

Ustawienia oczyszczania kodu platformy .NET

Większość ustawień oczyszczania kodu odpowiada co najmniej jednemu stylowi kodowania .NET obsługiwanemu w pliku EditorConfig. W przypadku przykładów pokazujących efekty ustawień użyj linków w poniższej tabeli.

Ustawienie Identyfikator reguły lub opcja stylu
Usuwanie niepotrzebnych importów lub użycia IDE0005
Sortowanie importu lub użycia Posortuj dyrektywy systemowe dotnet jako pierwsze
Oddziel grupy dyrektyw importu dotnet
Stosowanie preferencji nagłówka pliku szablon_nagłówka_pliku
Usuwanie nieużywanych zmiennych CS0219
Stosowanie preferencji tworzenia obiektów styl_visual_basic_preferowany_upraszczony_tworzenie_obiektów
Zastosuj preferencje IsNot preferowanie_wyrażenia_isnot_stylu_visual_basic
Dodaj określenie „this” lub „Me” IDE0003-IDE0009
Dodawanie modyfikatorów ułatwień dostępu styl_dotnet_wymagaj_modyfikatorów_dostępności
Modyfikatory kolejności IDE0036
Ustaw pole jako tylko do odczytu styl .NET dla pola tylko do odczytu
Usuń niepotrzebne rzutowania IDE0004
Stosowanie parametrów inicjowania obiektu/kolekcji) dotnet_style_inicjalizator_obiektów
Zastosowanie preferencji dotyczących umiejscowienia dyrektyw csharp_using_directive_placement
Stosowanie preferencji nawiasów IDE0047-IDE0048
Stosowanie nieużywanych preferencji wartości IDE0058
Stosowanie preferencji typu języka/struktury IDE0049
Usuń nieużywane tłumienia dotnet_usuń_niepotrzebne_wyjątki_skróceń
Zastosuj preferencje upraszczania wyrażeń logicznych dotnet_style_prefer_simplified_boolean_expressions
Stosowanie preferencji interpolacji ciągów dotnet_style_prefer_simplified_interpolation (preferencja uproszczonej interpolacji w stylu Dotnet)
Usuwanie nieużywanych parametrów dotnet_code_quality_unused_parameters
Zastosuj preferencje automatycznych właściwości dotnet_style_prefer_auto_properties
Stosowanie preferencji przypisania złożonego dotnet_style_prefer_compound_assignment
Stosowanie preferencji wyrażeń złączeniowych dotnet_style_coalesce_expression
Stosowanie preferencji wyrażeń warunkowych
dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_return
Zastosuj preferencje nazw krotek styl_dotnet_wyrażne_nazwy_krotek
styl_dotnet_preferowane_nazwy_krotek_wywnioskowanestyl_dotnet_preferowane_nazwy_krotek_wywnioskowane
Stosowanie wywnioskowanych preferencji nazw członków typu anonimowego dotnet_style_prefer_inferred_anonymous_type_member_names
Stosowanie preferencji sprawdzania wartości null dotnet_style_prefer_is_null_check_over_reference_equality_method
Zastosuj preferencje propagacji wartości null dotnet_style_null_propagation
Stosowanie preferencji "var" IDE0007-IDE0008
Dodaj wymagane nawiasy klamrowe dla jednowierszowych instrukcji sterujących preferowane_nawiasy
Stosowanie preferencji dla wyrażeń/ciał bloków członkowie z wyrażeniem ciała
Stosowanie wbudowanych preferencji zmiennych "out" csharp_style_inlined_variable_declaration (csharp_styl_deklaracji_zmiennej_w_linii)
Stosowanie preferencji dopasowywania wzorca preferencje dopasowywania wzorców
Stosuj preferencje dla warunkowych wywołań delegatów csharp_style_conditional_delegate_call
Stosowanie preferencji statycznych funkcji lokalnych preferowanie_statycznych_funkcji_lokalnych_csharp
Stosowanie dekonstrukcyjnych preferencji styl_deklaracji_zmiennych_zdekonstrukowany_csharp
Zastosuj preferencje domyślne (T) csharp_prefer_simple_default_expression (preferuj prostą domyślną formę w C#)
Zastosowanie preferencji new() csharp_style_tworzenie_obiektu_implicitnego_gdy_typ_jest_jasny
Stosowanie preferencji zakresu Preferowanie operatora zakresu w stylu C#
Zastosuj lokalne preferencje zamiast preferencji funkcji anonimowych csharp_style_pattern_local_over_anonymous_function
Stosowanie preferencji parametru o wartości null preferencje sprawdzania wartości null
Zastosowanie preferencji poleceń preferuje_proste_instrukcje_using_w_csharpie
Stosowanie preferencji wyrażenia throw csharp_style_throw_expression (styl wyrażenia throw w C#)