Generuj plik EditorConfig

Pliki EditorConfig pomagają zachować spójność kodu przez definiowanie stylów i formatów kodu. Te konwencje umożliwiają programowi Visual Studio oferowanie automatycznych poprawek stylu i formatu w celu oczyszczenia dokumentu. W przypadku deweloperów C# rozszerzenia intellicode może wnioskować o styl kodu i konwencje formatowania, aby dynamicznie utworzyć plik EditorConfig.

Można dodać plik EditorConfig wygenerowany przez rozszerzenia intellicode na poziomie projektu lub rozwiązania w programie Visual Studio (lub do folderu rozwiązania). Aby dodać wstępnie wypełniony plik EditorConfig, kliknij prawym przyciskiem myszy żądaną lokalizację w Eksplorator rozwiązań i wybierz polecenie Dodaj > nowe EditorConfig (rozszerzenia intellicode)

Dodawanie pliku EditorConfig wygenerowanego przez rozszerzenia intellicode w programie Visual Studio

Po dodaniu pliku w ten sposób program rozszerzenia intellicode automatycznie wypełni go konwencjami stylu kodu, które wnioskuje z bazy kodu.

Uwaga

Wnioskowanie o stylu kodu jest funkcją w wersji zapoznawczej i jest domyślnie wyłączone. Można ją włączyć za poorednictwem > opcji narzędzia > rozszerzenia intellicode. Jest ona obecnie dostępna tylko dla kodu w języku C#. Aby uzyskać dostęp do tej funkcji, należy zaktualizować do najnowszej wersji zapoznawczej programu Visual Studio 2019.

Aby uzyskać więcej informacji na temat generowania pliku EditorConfig na podstawie stylów kodu w bazie kodu, zapoznaj się z tym artykułem w blogu.

Stosowanie Konwencji EditorConfig

Naruszenia Konwencji stylu kodu w pliku EditorConfig nie są wyświetlane w Lista błędów ani w postaci "zygzaków" w kodzie. Mogą jednak być stosowane przy użyciu polecenia czyszczenia kodu (visual Studio 2019) lub polecenia Formatuj dokument (Visual Studio 2017).

Jeśli używasz programu Visual Studio 2017 i dokument formatu nie jest zgodny z konwencjami stylu, podczas formatowania dokumentu może nie być możliwe stosowanie poprawek stylu kodu. Na przykład Zastosuj preferencje typu niejawnego/jawnego uruchamia reguły stylu dotyczące korzystania z var . Skonfiguruj, które problemy są naprawiane za pomocą okna dialogowego Opcje formatowania. Wybór narzędzi > Opcje narzędzia > Edytor tekstu > C# > Style > Formatowanie > > Format ogólne formatowanie dokumentu ustawienia (eksperyment).

Odwołanie do wnioskowanej Konwencji

Rozszerzenia intellicode jeszcze nie obsługuje pełnego zestawu Konwencji udokumentowanych w odwołaniu do ustawień stylu kodu. Rozszerzenia intellicode może obecnie wnioskować o następujące konwencje formatowania i stylu :

Konwencje formatowania

  • csharp_space_between_method_declaration_parameter_list_parentheses
  • csharp_space_between_method_declaration_empty_parameter_list_parentheses
  • csharp_space_between_method_call_name_and_opening_parenthesis
  • csharp_space_between_method_call_parameter_list_parentheses
  • csharp_space_between_method_call_empty_parameter_list_parentheses
  • csharp_space_after_keywords_in_control_flow_statements
  • csharp_space_between_parentheses
  • csharp_space_after_cast
  • csharp_space_after_colon_in_inheritance_clause
  • csharp_space_before_colon_in_inheritance_clause
  • csharp_space_around_binary_operators
  • csharp_indent_switch_labels
  • csharp_indent_case_contents
  • csharp_indent_case_contents_when_block
  • csharp_indent_labels
  • csharp_preserve_single_line_blocks
  • csharp_preserve_single_line_statements
  • csharp_new_line_before_open_brace
  • csharp_new_line_before_else
  • csharp_new_line_before_catch
  • csharp_new_line_before_finally
  • csharp_new_line_before_members_in_object_initializers
  • csharp_new_line_before_members_in_anonymous_types
  • csharp_new_line_between_query_expression_clauses

Konwencje stylistyczne

  • csharp_new_line_before_catch
  • csharp_new_line_before_else
  • csharp_new_line_before_members_in_anonymous_types
  • csharp_new_line_before_members_in_object_initializers
  • csharp_new_line_before_finally_style
  • csharp_new_line_between_query_expression_clauses
  • csharp_prefer_braces
  • csharp_preferred_modifier_order_style
  • csharp_prefer_simple_default_expression
  • csharp_preserve_single_line_blocks
  • csharp_space_after_cast
  • csharp_space_after_keywords_in_control_flow_statements
  • csharp_space_between_method_call_parameter_list_parentheses
  • csharp_space_between_method_declaration_parameter_list_parentheses
  • csharp_space_between_parentheses
  • csharp_style_expression_bodied_accessors
  • csharp_style_expression_bodied_constructors
  • csharp_style_expression_bodied_indexers
  • csharp_style_expression_bodied_methods
  • csharp_style_expression_bodied_operators
  • csharp_style_expression_bodied_properties
  • csharp_style_inlined_variable_declaration
  • csharp_style_pattern_local_over_anonymous_function
  • csharp_style_pattern_matching_over_as_with_null_check
  • csharp_style_var_for_built_in_types
  • csharp_style_var_when_type_is_apparent
  • dotnet_sort_system_directives_first
  • dotnet_style_explicit_tuple_names
  • dotnet_style_object_initializer
  • dotnet_style_predefined_type_for_locals_parameters_members
  • dotnet_style_predefined_type_for_member_access
  • dotnet_style_prefer_inferred_anonymous_type_member_names
  • dotnet_style_qualification_for_event
  • dotnet_style_qualification_for_field
  • dotnet_style_qualification_for_method
  • dotnet_style_qualification_for_property
  • dotnet_style_require_accessibility_modifiers

Zobacz też