201 строка
7.9 KiB
INI
201 строка
7.9 KiB
INI
###############################
|
|
# Core EditorConfig Options #
|
|
###############################
|
|
root = true
|
|
|
|
# All files
|
|
[*]
|
|
indent_style = space
|
|
end_of_line = crlf
|
|
end_of_file = crlf
|
|
|
|
# Code files
|
|
[*.{cs,csx,vb,vbx}]
|
|
indent_size = 4
|
|
insert_final_newline = true
|
|
charset = utf-8
|
|
|
|
# Xml build files
|
|
[*.builds]
|
|
indent_size = 2
|
|
|
|
# Xml files
|
|
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct,xml,stylecop}]
|
|
indent_size = 2
|
|
|
|
# Xml project files
|
|
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
|
|
indent_size = 2
|
|
|
|
# Json files
|
|
[*.json]
|
|
indent_size = 2
|
|
|
|
# C++ Files
|
|
[*.{cpp,h,in}]
|
|
curly_bracket_next_line = true
|
|
indent_brace_style = Allman
|
|
|
|
# Shell scripts
|
|
[*.sh]
|
|
end_of_line = lf
|
|
[*.{cmd, bat}]
|
|
end_of_line = crlf
|
|
|
|
###############################
|
|
# .NET OSS Coding Conventions #
|
|
###############################
|
|
[*.{cs,vb}]
|
|
# Organize usings
|
|
dotnet_sort_system_directives_first = true
|
|
|
|
# Use this.
|
|
dotnet_style_qualification_for_field = true:warning
|
|
dotnet_style_qualification_for_property = true:warning
|
|
dotnet_style_qualification_for_method = true:warning
|
|
dotnet_style_qualification_for_event = true:warning
|
|
|
|
# Use language keywords instead of BCL types
|
|
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
|
dotnet_style_predefined_type_for_member_access = true:suggestion
|
|
|
|
# Expression-level preferences
|
|
dotnet_style_object_initializer = true:none
|
|
dotnet_style_collection_initializer = true:none
|
|
dotnet_style_explicit_tuple_names = true:suggestion
|
|
dotnet_style_null_propagation = false:error
|
|
dotnet_style_coalesce_expression = true:suggestion
|
|
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:none
|
|
dotnet_style_require_accessibility_modifiers = always:suggestion
|
|
dotnet_prefer_inferred_tuple_names = true:suggestion
|
|
dotnet_prefer_inferred_anonymous_type_member_names = true:suggestion
|
|
|
|
[*.cs]
|
|
# Expression-bodied members
|
|
csharp_style_expression_bodied_methods = false:none
|
|
csharp_style_expression_bodied_constructors = false:none
|
|
csharp_style_expression_bodied_operators = false:none
|
|
|
|
# SF-OSS: changed from true to false
|
|
csharp_style_expression_bodied_properties = false:none
|
|
|
|
csharp_style_expression_bodied_indexers = true:none
|
|
csharp_style_expression_bodied_accessors = true:none
|
|
|
|
# Pattern matching
|
|
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
|
|
|
|
# Null-checking preferences
|
|
csharp_style_throw_expression = false:none
|
|
csharp_style_conditional_delegate_call = false:none
|
|
|
|
# Expression-level preferences
|
|
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
|
|
|
|
[*.vb]
|
|
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion
|
|
|
|
###############################
|
|
# .NET Formatting Rules #
|
|
###############################
|
|
[*.cs]
|
|
# New line preferences
|
|
csharp_new_line_before_open_brace = all
|
|
csharp_new_line_before_else = true
|
|
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
|
|
csharp_new_line_between_query_expression_clauses = true
|
|
|
|
# Indentation preferences
|
|
csharp_indent_case_contents = true
|
|
csharp_indent_switch_labels = true
|
|
csharp_indent_labels = flush_left
|
|
|
|
# Space preferences
|
|
csharp_space_after_cast = 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_parentheses = false
|
|
|
|
###############################
|
|
# Roslyn-Specific Conventions #
|
|
###############################
|
|
# Always use var
|
|
csharp_style_var_for_built_in_types = true:suggestion
|
|
csharp_style_var_when_type_is_apparent = true:suggestion
|
|
csharp_style_var_elsewhere = true:suggestion
|
|
|
|
# Expression-level preferences
|
|
csharp_prefer_braces = true:suggestion
|
|
csharp_style_deconstructed_variable_declaration = true:suggestion
|
|
csharp_prefer_simple_default_expression = true:suggestion
|
|
csharp_style_pattern_local_over_anonymous_function = true:none
|
|
|
|
###############################
|
|
# Naming Conventions #
|
|
###############################
|
|
|
|
# Style Definitions
|
|
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
|
|
|
|
dotnet_naming_style.camel_case_style.capitalization = camel_case
|
|
|
|
dotnet_naming_style.I_prefix_style.required_prefix = I
|
|
dotnet_naming_style.I_prefix_style.capitalization = pascal_case
|
|
|
|
# Use PascalCase for constant fields
|
|
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = warning
|
|
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
|
|
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
|
|
dotnet_naming_symbols.constant_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
|
|
dotnet_naming_symbols.constant_fields.required_modifiers = const
|
|
|
|
# Use PascalCase for static fields
|
|
dotnet_naming_rule.static_fields_should_be_pascal_case.severity = warning
|
|
dotnet_naming_rule.static_fields_should_be_pascal_case.symbols = static_fields
|
|
dotnet_naming_rule.static_fields_should_be_pascal_case.style = pascal_case_style
|
|
dotnet_naming_symbols.static_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.static_fields.applicable_accessibilities = *
|
|
dotnet_naming_symbols.static_fields.required_modifiers = static
|
|
|
|
# Use PascalCase for public fields
|
|
dotnet_naming_rule.pascal_case_for_public_fields.severity = warning
|
|
dotnet_naming_rule.pascal_case_for_public_fields.symbols = public_fields
|
|
dotnet_naming_rule.pascal_case_for_public_fields.style = pascal_case_style
|
|
dotnet_naming_symbols.public_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.public_fields.applicable_accessibilities = public
|
|
|
|
# Use camelCase for all other fields
|
|
dotnet_naming_rule.camel_case_for_other_fields.severity = warning
|
|
dotnet_naming_rule.camel_case_for_other_fields.symbols = other_fields
|
|
dotnet_naming_rule.camel_case_for_other_fields.style = camel_case_style
|
|
dotnet_naming_symbols.other_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.other_fields.applicable_accessibilities = *
|
|
|
|
# Interfaces must be PascalCase and have an I prefix
|
|
dotnet_naming_rule.interfaces_start_with_I.severity = warning
|
|
dotnet_naming_rule.interfaces_start_with_I.symbols = any_interface
|
|
dotnet_naming_rule.interfaces_start_with_I.style = I_prefix_style
|
|
dotnet_naming_symbols.any_interface.applicable_accessibilities = *
|
|
dotnet_naming_symbols.any_interface.applicable_kinds = interface
|
|
|
|
# Classes, structs, methods, enums, events, properties, namespaces, delegates must be PascalCase
|
|
dotnet_naming_rule.general_naming.severity = warning
|
|
dotnet_naming_rule.general_naming.symbols = general
|
|
dotnet_naming_rule.general_naming.style = pascal_case_style
|
|
dotnet_naming_symbols.general.applicable_kinds = class,struct,enum,property,method,event,namespace,delegate
|
|
dotnet_naming_symbols.general.applicable_accessibilities = *
|
|
|
|
# Everything else is camelCase
|
|
dotnet_naming_rule.everything_else_naming.severity = warning
|
|
dotnet_naming_rule.everything_else_naming.symbols = everything_else
|
|
dotnet_naming_rule.everything_else_naming.style = camel_case_style
|
|
dotnet_naming_symbols.everything_else.applicable_kinds = *
|
|
dotnet_naming_symbols.everything_else.applicable_accessibilities = *
|