blob: a054d7df883dbcf552d335f93f49fd9504d60b6c [file] [log] [blame]
root = true
[*]
indent_style = space
indent_size = 2
tab_width = 2
insert_final_newline = true
end_of_line = lf
trim_trailing_whitespace = true
charset = utf-8
resharper_enforce_line_ending_style = true
resharper_apply_auto_detected_rules = false
resharper_use_indent_from_vs = false
[*.{cs, csx, cake, vb, vbx}]
# Enforce go/csstyle
# Naming rules
# IDE1006 must be treated as an error for any of the following naming rules to affect builds
dotnet_diagnostic.IDE1006.severity = error
# this. preferences
dotnet_style_qualification_for_field = false:error
dotnet_style_qualification_for_property = false:error
dotnet_style_qualification_for_method = false:error
dotnet_style_qualification_for_event = false:error
# Pascal case style
dotnet_naming_style.pascal.capitalization = pascal_case
# Interface style
dotnet_naming_style.interface.capitalization = pascal_case
dotnet_naming_style.interface.required_prefix = I
# Camel-case style
dotnet_naming_style.camel.capitalization = camel_case
# Camel-case beginning with underscore style
dotnet_naming_style.underscore_camel.capitalization = camel_case
dotnet_naming_style.underscore_camel.required_prefix = _
# Symbols for namespaces
dotnet_naming_symbols.namespaces.applicable_kinds = namespace
dotnet_naming_symbols.namespaces.applicable_accessibilities = *
# Symbols for types
dotnet_naming_symbols.types.applicable_kinds = class, struct, delegate, type_parameter
dotnet_naming_symbols.types.applicable_accessibilities = *
# Symbols for interfaces
dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_symbols.interfaces.applicable_accessibilities = *
# Symbols for enums
dotnet_naming_symbols.enums.applicable_kinds = enum
dotnet_naming_symbols.enums.applicable_accessibilities = *
# Symbols for public fields and properties
dotnet_naming_symbols.public_fields_properties.applicable_kinds = field, property
dotnet_naming_symbols.public_fields_properties.applicable_accessibilities = public
# Symbols for non-public fields and properties - Unenforced
dotnet_naming_symbols.non_public_fields_properties.applicable_kinds = field, property
dotnet_naming_symbols.non_public_fields_properties.applicable_accessibilities = internal, private, protected, protected_internal
# Symbols for non-public constants
dotnet_naming_symbols.private_constants.applicable_kinds = field
dotnet_naming_symbols.private_constants.applicable_accessibilities = private, protected, internal, protected_internal
dotnet_naming_symbols.private_constants.required_modifiers = const
# Symbols for public constants
dotnet_naming_symbols.public_constants.applicable_kinds = field
dotnet_naming_symbols.public_constants.applicable_accessibilities = public
dotnet_naming_symbols.public_constants.required_modifiers = const
# Symbols for non-public static readonly fields and properties
dotnet_naming_symbols.private_static_readonly.applicable_kinds = field, property
dotnet_naming_symbols.private_static_readonly.applicable_accessibilities = private, protected, internal, protected_internal
dotnet_naming_symbols.private_static_readonly.required_modifiers = static, readonly
# Symbols for public static readonly fields and properties
dotnet_naming_symbols.public_static_readonly.applicable_kinds = field, property
dotnet_naming_symbols.public_static_readonly.applicable_accessibilities = public
dotnet_naming_symbols.public_static_readonly.required_modifiers = static, readonly
# Symbols for methods and events
dotnet_naming_symbols.methods.applicable_kinds = method, event, local_function
dotnet_naming_symbols.methods.applicable_accessibilities = *
# Symbols for local variables and parameters
dotnet_naming_symbols.local_variables.applicable_kinds = local, parameter
dotnet_naming_symbols.local_variables.applicable_accessibilities = *
# Rule for namespaces
dotnet_naming_rule.namespace_rule.symbols = namespaces
dotnet_naming_rule.namespace_rule.style = pascal
dotnet_naming_rule.namespace_rule.severity = error
# Rule for types
dotnet_naming_rule.type_rule.symbols = types
dotnet_naming_rule.type_rule.style = pascal
dotnet_naming_rule.type_rule.severity = error
# Rule for interfaces
dotnet_naming_rule.interface_rule.symbols = interfaces
dotnet_naming_rule.interface_rule.style = interface
dotnet_naming_rule.interface_rule.severity = error
# Rule for enums - For now, do not enforce due to serialization
dotnet_naming_rule.enum_rule.symbols = enums
dotnet_naming_rule.enum_rule.style = pascal
dotnet_naming_rule.enum_rule.severity = none
# Rule for public fields and properties - For now, do not enforce due to serialization
dotnet_naming_rule.public_field_property_rule.symbols = public_fields_properties
dotnet_naming_rule.public_field_property_rule.style = pascal
dotnet_naming_rule.public_field_property_rule.severity = none
# Rule for non-public fields and properties - Not enforced
dotnet_naming_rule.non_public_field_property_rule.symbols = non_public_fields_properties
dotnet_naming_rule.non_public_field_property_rule.style = underscore_camel
dotnet_naming_rule.non_public_field_property_rule.severity = none
# Rule for non-public constants
dotnet_naming_rule.private_constant_rule.symbols = private_constants
dotnet_naming_rule.private_constant_rule.style = underscore_camel
dotnet_naming_rule.private_constant_rule.severity = error
# Rule for public constants
dotnet_naming_rule.public_constant_rule.symbols = public_constants
dotnet_naming_rule.public_constant_rule.style = pascal
dotnet_naming_rule.public_constant_rule.severity = error
# Rule for non-public static readonly fields and properties
dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly
dotnet_naming_rule.private_static_readonly_rule.style = underscore_camel
dotnet_naming_rule.private_static_readonly_rule.severity = error
# Rule for public static readonly fields and properties
dotnet_naming_rule.private_static_readonly_rule.symbols = public_static_readonly
dotnet_naming_rule.private_static_readonly_rule.style = pascal
dotnet_naming_rule.private_static_readonly_rule.severity = error
# Rule for methods and events
dotnet_naming_rule.method_rule.symbols = methods
dotnet_naming_rule.method_rule.style = pascal
dotnet_naming_rule.method_rule.severity = error
# Rule for local variables and parameters
dotnet_naming_rule.variable_rule.symbols = local_variables
dotnet_naming_rule.variable_rule.style = camel
dotnet_naming_rule.variable_rule.severity = error
# Organization
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
dotnet_sort_system_directives_first = true
resharper_sort_usings_with_system_first = true
csharp_preserve_single_line_statements = false
# Single-line blocks can be things like auto properties
csharp_preserve_single_line_blocks = true
csharp_using_directive_placement = outside_namespace
csharp_trailing_comma_in_multiline_lists = true
csharp_trailing_comma_in_singleline_lists = false
resharper_arrange_trailing_comma_in_multiline_lists_highlighting = warning
resharper_arrange_trailing_comma_in_singleline_lists_highlighting = warning
dotnet_style_predefined_type_for_member_access = true:warning
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
resharper_arrange_static_member_qualifier_highlighting = warning
# Whitespace
max_line_length = 100
csharp_max_line_length = 100
resharper_csharp_max_line_length = 100
resharper_wrap_lines = true
resharper_continuous_indent_multiplier = 2
resharper_align_multiline_binary_expressions_chain = false
resharper_align_multiline_statement_conditions = false
csharp_new_line_before_open_brace = none
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_object_initializers = false
csharp_new_line_before_members_in_anonymous_types = false
csharp_new_line_between_query_expression_clauses = true
resharper_blank_lines_after_block_statements = 0
resharper_blank_lines_around_single_line_auto_property = 1
resharper_blank_lines_around_single_line_property = 1
resharper_csharp_blank_lines_around_field = 0
resharper_csharp_blank_lines_around_single_line_invocable = 1
resharper_csharp_blank_lines_inside_region = 0
resharper_csharp_keep_blank_lines_in_code = 1
resharper_csharp_keep_blank_lines_in_declarations = 1
resharper_csharp_wrap_after_declaration_lpar = true
resharper_csharp_wrap_after_invocation_lpar = true
resharper_csharp_wrap_arguments_style = chop_if_long
resharper_csharp_wrap_extends_list_style = chop_if_long
resharper_csharp_wrap_parameters_style = chop_if_long
resharper_keep_existing_declaration_parens_arrangement = false
resharper_keep_existing_embedded_arrangement = false
resharper_keep_existing_invocation_parens_arrangement = false
resharper_keep_existing_property_patterns_arrangement = false
resharper_keep_existing_switch_expression_arrangement = false
resharper_max_array_initializer_elements_on_line = 3
resharper_max_initializer_elements_on_line = 3
resharper_place_accessorholder_attribute_on_same_line = false
resharper_place_field_attribute_on_same_line = false
resharper_place_simple_embedded_statement_on_same_line = false
resharper_wrap_array_initializer_style = chop_if_long
resharper_wrap_chained_method_calls = chop_if_long
resharper_wrap_verbatim_interpolated_strings = wrap_if_long
# Braces
csharp_prefer_braces = true:silent
resharper_braces_redundant = true
resharper_csharp_empty_block_style = together_same_line
resharper_enforce_do_while_statement_braces_highlighting = warning
resharper_enforce_fixed_statement_braces_highlighting = warning
resharper_enforce_foreach_statement_braces_highlighting = warning
resharper_enforce_for_statement_braces_highlighting = warning
resharper_enforce_if_statement_braces_highlighting = warning
resharper_enforce_lock_statement_braces_highlighting = warning
resharper_enforce_using_statement_braces_highlighting = warning
resharper_enforce_while_statement_braces_highlighting = warning
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents_when_block = false
csharp_space_after_cast = false
resharper_space_after_cast = false
resharper_space_within_single_line_array_initializer_braces = true
resharper_space_within_empty_braces = false
csharp_space_before_comma = false
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_around_binary_operators = before_and_after
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_after_semicolon_in_for_statement = true
csharp_space_before_semicolon_in_for_statement = false
csharp_space_around_declaration_statements = false
csharp_space_before_open_square_brackets = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_square_brackets = false
csharp_place_attribute_on_same_line = false
resharper_place_attribute_on_same_line = false
resharper_arrange_attributes_highlighting = warning
csharp_force_attribute_style = Separate
# Braces required even when optional
csharp_braces_for_ifelse = required
csharp_braces_for_for = required
csharp_braces_for_foreach = required
csharp_braces_for_while = required
csharp_braces_for_dowhile = required
csharp_braces_for_lock = required
csharp_braces_for_fixed = required
resharper_braces_for_for = required
resharper_braces_for_foreach = required
resharper_braces_for_ifelse = required
resharper_braces_for_while = required
resharper_braces_redundant = false
resharper_keep_existing_declaration_block_arrangement = true
resharper_keep_existing_embedded_block_arrangement = true
# Async/await rules. These don't seem to fail the build in Rider even though they show up as errors
# in the "Problems" box and in the code, but at least they are visually marked as errors.
resharper_async_void_lambda_highlighting = error
resharper_async_void_method_highlighting = error
dotnet_diagnostic.AsyncFixer01.severity = none
dotnet_diagnostic.AsyncFixer02.severity = error
dotnet_diagnostic.AsyncFixer03.severity = error
dotnet_diagnostic.AsyncFixer04.severity = error
dotnet_diagnostic.AsyncFixer05.severity = error
resharper_keep_existing_enum_arrangement = true