# EditorConfig is awesome:http://EditorConfig.org # top-most EditorConfig file root = true [*] charset = utf-8 indent_style = space trim_trailing_whitespace = true max_line_length = 120 [*.{csproj,proj,targets,props,shproj}] indent_size = 2 [*.json] indent_size = 2 [*.cs] indent_style = tab indent_size = 4 # Sort using and Import directives with System.* appearing first dotnet_sort_system_directives_first = true # Avoid "this." and "Me." if not necessary dotnet_style_qualification_for_field = false:suggestion dotnet_style_qualification_for_property = false:suggestion dotnet_style_qualification_for_method = false:suggestion dotnet_style_qualification_for_event = false:suggestion # Use language keywords instead of framework type names for type references dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion dotnet_style_predefined_type_for_member_access = true:suggestion # Suggest more modern language features when available dotnet_style_object_initializer = true:suggestion dotnet_style_collection_initializer = true:suggestion dotnet_style_coalesce_expression = true:suggestion dotnet_style_null_propagation = true:suggestion dotnet_style_explicit_tuple_names = true:suggestion # spaces before parens csharp_space_between_method_declaration_name_and_open_parenthesis = true csharp_space_between_method_call_name_and_opening_parenthesis = true csharp_space_after_keywords_in_control_flow_statements = true # Newline settings csharp_new_line_before_open_brace = types,methods csharp_new_line_before_else = false csharp_new_line_before_catch = true csharp_new_line_before_finally = true csharp_new_line_before_members_in_object_initializers = true csharp_new_line_before_members_in_anonymous_types = true # Switch indentation csharp_indent_switch_labels = false # Prefer "var" everywhere it's apparent csharp_style_var_for_built_in_types = true:none csharp_style_var_when_type_is_apparent = true:suggestion csharp_style_var_elsewhere = false:none # Prefer method-like constructs to have a block body csharp_style_expression_bodied_methods = false:none csharp_style_expression_bodied_constructors = false:none csharp_style_expression_bodied_operators = false:none # Prefer property-like constructs to have an expression-body csharp_style_expression_bodied_properties = true:none csharp_style_expression_bodied_indexers = true:none csharp_style_expression_bodied_accessors = true:none # Suggest more modern language features when available csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion csharp_style_pattern_matching_over_as_with_null_check = true:suggestion csharp_style_inlined_variable_declaration = true:suggestion csharp_style_throw_expression = true:suggestion csharp_style_conditional_delegate_call = true:suggestion dotnet_style_require_accessibility_modifiers = omit_if_default:warning # ArgumentNullException.ThrowIfNull not present in some TFMs dotnet_diagnostic.CA1510.severity = none # hack: suppress analyzers on the imported file Options.cs [Options.cs] generated_code = true