4

currently I'm working on a nx monorepo with Angular and dotnet projects. As IDE I'm using Jetbrains Rider. For linting in the dotnet projects I use dotnet-format which comes with the @nx-dotnet/core plugin of nx.

As I'm fine with the default C# code style of Rider I exported the style settings through Settings -> Editor -> Code Style: Export. I also checked "Export settings that have default values".

So now my .editorconfig looks like this:

root = true
# Editor configuration, see http://editorconfig.org

[*]
#charset = utf-8
indent_style = space
indent_size = 24
insert_final_newline = truefalse
trim_trailing_whitespace = truefalse


# Microsoft .NET properties
csharp_indent_braces = false
csharp_indent_switch_labels = true
csharp_new_line_before_catch = true
csharp_new_line_before_else = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = false
csharp_new_line_before_open_brace = all
csharp_new_line_between_query_expression_clauses = true
csharp_preferred_modifier_order = public, private, protected, internal, new, abstract, virtual, sealed, override, static, readonly, extern, unsafe, volatile, async:suggestion
csharp_preserve_single_line_blocks = true
csharp_space_after_cast = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
csharp_style_var_elsewhere = true:suggestion
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_using_directive_placement = outside_namespace:silent
dotnet_diagnostic.azf0001.severity = error
dotnet_diagnostic.bc40000.severity = warning
dotnet_diagnostic.bc400005.severity = warning
dotnet_diagnostic.bc40008.severity = warning
dotnet_diagnostic.bc40056.severity = warning
dotnet_diagnostic.bc42016.severity = warning
dotnet_diagnostic.bc42024.severity = warning
dotnet_diagnostic.bc42025.severity = warning
dotnet_diagnostic.bc42104.severity = warning
dotnet_diagnostic.bc42105.severity = warning
...
dotnet_diagnostic.xunit1007.severity = error
dotnet_diagnostic.xunit1008.severity = warning
dotnet_diagnostic.xunit1009.severity = error
dotnet_diagnostic.xunit1010.severity = error
dotnet_diagnostic.xunit1011.severity = error
dotnet_diagnostic.xunit1012.severity = warning
dotnet_diagnostic.xunit1013.severity = warning
dotnet_diagnostic.xunit1014.severity = warning
dotnet_diagnostic.xunit1015.severity = error
dotnet_diagnostic.xunit1016.severity = error
dotnet_diagnostic.xunit1017.severity = error
dotnet_diagnostic.xunit1018.severity = error
dotnet_diagnostic.xunit1019.severity = error
dotnet_diagnostic.xunit1020.severity = error
dotnet_diagnostic.xunit1021.severity = warning
dotnet_diagnostic.xunit1022.severity = error
dotnet_diagnostic.xunit1023.severity = error
dotnet_diagnostic.xunit1024.severity = error
dotnet_diagnostic.xunit1025.severity = warning
dotnet_diagnostic.xunit1026.severity = warning
dotnet_diagnostic.xunit2000.severity = warning
dotnet_diagnostic.xunit2001.severity = none
dotnet_diagnostic.xunit2002.severity = warning
dotnet_diagnostic.xunit2003.severity = warning
dotnet_diagnostic.xunit2004.severity = warning
dotnet_diagnostic.xunit2005.severity = warning
dotnet_diagnostic.xunit2006.severity = warning
dotnet_diagnostic.xunit2007.severity = warning
dotnet_diagnostic.xunit2008.severity = warning
dotnet_diagnostic.xunit2009.severity = warning
dotnet_diagnostic.xunit2010.severity = warning
dotnet_diagnostic.xunit2011.severity = warning
dotnet_diagnostic.xunit2012.severity = warning
dotnet_diagnostic.xunit2013.severity = warning
dotnet_diagnostic.xunit2014.severity = error
dotnet_diagnostic.xunit2015.severity = warning
dotnet_diagnostic.xunit2016.severity = error
dotnet_diagnostic.xunit2017.severity = warning
dotnet_diagnostic.xunit2018.severity = warning
dotnet_diagnostic.xunit2019.severity = none
dotnet_diagnostic.xunit3000.severity = error
dotnet_diagnostic.xunit3001.severity = error
dotnet_naming_rule.constants_rule.import_to_resharper = as_predefined
dotnet_naming_rule.constants_rule.severity = warning
dotnet_naming_rule.constants_rule.style = upper_camel_case_style
dotnet_naming_rule.constants_rule.symbols = constants_symbols
dotnet_naming_rule.event_rule.import_to_resharper = as_predefined
dotnet_naming_rule.event_rule.severity = warning
dotnet_naming_rule.event_rule.style = upper_camel_case_style
dotnet_naming_rule.event_rule.symbols = event_symbols
dotnet_naming_rule.interfaces_rule.import_to_resharper = as_predefined
dotnet_naming_rule.interfaces_rule.severity = warning
dotnet_naming_rule.interfaces_rule.style = i_upper_camel_case_style
dotnet_naming_rule.interfaces_rule.symbols = interfaces_symbols
dotnet_naming_rule.locals_rule.import_to_resharper = as_predefined
dotnet_naming_rule.locals_rule.severity = warning
dotnet_naming_rule.locals_rule.style = lower_camel_case_style_1
dotnet_naming_rule.locals_rule.symbols = locals_symbols
dotnet_naming_rule.local_constants_rule.import_to_resharper = as_predefined
dotnet_naming_rule.local_constants_rule.severity = warning
dotnet_naming_rule.local_constants_rule.style = lower_camel_case_style_1
dotnet_naming_rule.local_constants_rule.symbols = local_constants_symbols
dotnet_naming_rule.local_functions_rule.import_to_resharper = as_predefined
dotnet_naming_rule.local_functions_rule.severity = warning
dotnet_naming_rule.local_functions_rule.style = upper_camel_case_style
dotnet_naming_rule.local_functions_rule.symbols = local_functions_symbols
dotnet_naming_rule.method_rule.import_to_resharper = as_predefined
dotnet_naming_rule.method_rule.severity = warning
dotnet_naming_rule.method_rule.style = upper_camel_case_style
dotnet_naming_rule.method_rule.symbols = method_symbols
dotnet_naming_rule.parameters_rule.import_to_resharper = as_predefined
dotnet_naming_rule.parameters_rule.severity = warning
dotnet_naming_rule.parameters_rule.style = lower_camel_case_style_1
dotnet_naming_rule.parameters_rule.symbols = parameters_symbols
dotnet_naming_rule.private_constants_rule.import_to_resharper = as_predefined
dotnet_naming_rule.private_constants_rule.severity = warning
dotnet_naming_rule.private_constants_rule.style = upper_camel_case_style
dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols
dotnet_naming_rule.private_instance_fields_rule.import_to_resharper = as_predefined
dotnet_naming_rule.private_instance_fields_rule.severity = warning
dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style
dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols
dotnet_naming_rule.private_static_fields_rule.import_to_resharper = as_predefined
dotnet_naming_rule.private_static_fields_rule.severity = warning
dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style
dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols
dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = as_predefined
dotnet_naming_rule.private_static_readonly_rule.severity = warning
dotnet_naming_rule.private_static_readonly_rule.style = upper_camel_case_style
dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly_symbols
dotnet_naming_rule.property_rule.import_to_resharper = as_predefined
dotnet_naming_rule.property_rule.severity = warning
dotnet_naming_rule.property_rule.style = upper_camel_case_style
dotnet_naming_rule.property_rule.symbols = property_symbols
dotnet_naming_rule.public_fields_rule.import_to_resharper = as_predefined
dotnet_naming_rule.public_fields_rule.severity = warning
dotnet_naming_rule.public_fields_rule.style = upper_camel_case_style
dotnet_naming_rule.public_fields_rule.symbols = public_fields_symbols
dotnet_naming_rule.static_readonly_rule.import_to_resharper = as_predefined
dotnet_naming_rule.static_readonly_rule.severity = warning
dotnet_naming_rule.static_readonly_rule.style = upper_camel_case_style
dotnet_naming_rule.static_readonly_rule.symbols = static_readonly_symbols
dotnet_naming_rule.types_and_namespaces_rule.import_to_resharper = as_predefined
dotnet_naming_rule.types_and_namespaces_rule.severity = warning
dotnet_naming_rule.types_and_namespaces_rule.style = upper_camel_case_style
dotnet_naming_rule.types_and_namespaces_rule.symbols = types_and_namespaces_symbols
dotnet_naming_rule.type_parameters_rule.import_to_resharper = as_predefined
dotnet_naming_rule.type_parameters_rule.severity = warning
dotnet_naming_rule.type_parameters_rule.style = t_upper_camel_case_style
dotnet_naming_rule.type_parameters_rule.symbols = type_parameters_symbols
dotnet_naming_style.i_upper_camel_case_style.capitalization = pascal_case
dotnet_naming_style.i_upper_camel_case_style.required_prefix = I
dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
dotnet_naming_style.lower_camel_case_style.required_prefix = _
dotnet_naming_style.lower_camel_case_style_1.capitalization = camel_case
dotnet_naming_style.t_upper_camel_case_style.capitalization = pascal_case
dotnet_naming_style.t_upper_camel_case_style.required_prefix = T
dotnet_naming_style.upper_camel_case_style.capitalization = pascal_case
dotnet_naming_symbols.constants_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
dotnet_naming_symbols.constants_symbols.applicable_kinds = field
dotnet_naming_symbols.constants_symbols.required_modifiers = const
dotnet_naming_symbols.event_symbols.applicable_accessibilities = *
dotnet_naming_symbols.event_symbols.applicable_kinds = event
dotnet_naming_symbols.interfaces_symbols.applicable_accessibilities = *
dotnet_naming_symbols.interfaces_symbols.applicable_kinds = interface
dotnet_naming_symbols.locals_symbols.applicable_accessibilities = *
dotnet_naming_symbols.locals_symbols.applicable_kinds = local
dotnet_naming_symbols.local_constants_symbols.applicable_accessibilities = *
dotnet_naming_symbols.local_constants_symbols.applicable_kinds = local
dotnet_naming_symbols.local_constants_symbols.required_modifiers = const
dotnet_naming_symbols.local_functions_symbols.applicable_accessibilities = *
dotnet_naming_symbols.local_functions_symbols.applicable_kinds = local_function
dotnet_naming_symbols.method_symbols.applicable_accessibilities = *
dotnet_naming_symbols.method_symbols.applicable_kinds = method
dotnet_naming_symbols.parameters_symbols.applicable_accessibilities = *
dotnet_naming_symbols.parameters_symbols.applicable_kinds = parameter
dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field
dotnet_naming_symbols.private_constants_symbols.required_modifiers = const
dotnet_naming_symbols.private_instance_fields_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_instance_fields_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_fields_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_static_fields_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_fields_symbols.required_modifiers = static
dotnet_naming_symbols.private_static_readonly_symbols.applicable_accessibilities = private
dotnet_naming_symbols.private_static_readonly_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_readonly_symbols.required_modifiers = static,readonly
dotnet_naming_symbols.property_symbols.applicable_accessibilities = *
dotnet_naming_symbols.property_symbols.applicable_kinds = property
dotnet_naming_symbols.public_fields_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
dotnet_naming_symbols.public_fields_symbols.applicable_kinds = field
dotnet_naming_symbols.static_readonly_symbols.applicable_accessibilities = public,internal,protected,protected_internal,private_protected
dotnet_naming_symbols.static_readonly_symbols.applicable_kinds = field
dotnet_naming_symbols.static_readonly_symbols.required_modifiers = static,readonly
dotnet_naming_symbols.types_and_namespaces_symbols.applicable_accessibilities = *
dotnet_naming_symbols.types_and_namespaces_symbols.applicable_kinds = namespace,class,struct,enum,delegate
dotnet_naming_symbols.type_parameters_symbols.applicable_accessibilities = *
dotnet_naming_symbols.type_parameters_symbols.applicable_kinds = type_parameter
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = true
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:none
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
dotnet_style_qualification_for_event = false:suggestion
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
file_header_template = 

# ReSharper properties
resharper_accessor_owner_body = expression_body
resharper_alignment_tab_fill_style = use_spaces
resharper_align_first_arg_by_paren = false
...

Because dotnet-format should also use the .editorconfig I thought my IDE and linter are synced now.

But thats not the case. E.g. my Rider shows no warnings or errors and also the Full-Cleanup doesn't change anything but the linter shows the following error error WHITESPACE: Fix whitespace formatting. Delete 2 characters. because the code was intended with too many whitespaces.

So am I missing some entries regarding whitespaces in my editorconfig so dotnet-format then uses it's default settings?

If yes, where can I find the default settings so I can extend my editorconfig?

Is it possible that Rider doesn't show all problems that conflict with the editorconfig?

Stimmler
  • 322
  • 4
  • 15
  • You should probably set indent_size only for specific languages, it is said to have lots of unintended consequences to set it for all file types. Maybe Rider doesn't listen to it being set for all file types? – Fredrik C Jan 04 '22 at 12:22

0 Answers0