You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
5.1 KiB
134 lines
5.1 KiB
# EditorConfig is awesome: http://EditorConfig.org |
|
|
|
# top-most EditorConfig file |
|
root = true |
|
|
|
# Don't use tabs for indentation. |
|
[*] |
|
indent_style = space |
|
end_of_line = lf |
|
charset = utf-8 |
|
trim_trailing_whitespace = true |
|
insert_final_newline = true |
|
guidelines = 120 |
|
# (Please don't specify an indent_size here; that has too many unintended consequences.) |
|
|
|
# Code files |
|
[*.{cs,csx,vb,vbx}] |
|
indent_size = 4 |
|
charset = utf-8-bom |
|
|
|
# Xml project files |
|
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] |
|
indent_size = 2 |
|
|
|
# Xml config files |
|
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] |
|
indent_size = 2 |
|
|
|
# JSON files |
|
[*.json] |
|
indent_size = 2 |
|
|
|
# Dotnet code style settings: |
|
[*.{cs,vb}] |
|
# 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 |
|
|
|
# Prefix private members with underscore |
|
dotnet_naming_rule.private_members_with_underscore.symbols = private_fields |
|
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore |
|
dotnet_naming_rule.private_members_with_underscore.severity = suggestion |
|
|
|
dotnet_naming_symbols.private_fields.applicable_kinds = field |
|
dotnet_naming_symbols.private_fields.applicable_accessibilities = private |
|
|
|
dotnet_naming_style.prefix_underscore.capitalization = camel_case |
|
dotnet_naming_style.prefix_underscore.required_prefix = _ |
|
|
|
# Async methods should have "Async" suffix |
|
dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods |
|
dotnet_naming_rule.async_methods_end_in_async.style = end_in_async |
|
dotnet_naming_rule.async_methods_end_in_async.severity = suggestion |
|
|
|
dotnet_naming_symbols.any_async_methods.applicable_kinds = method |
|
dotnet_naming_symbols.any_async_methods.applicable_accessibilities = * |
|
dotnet_naming_symbols.any_async_methods.required_modifiers = async |
|
|
|
dotnet_naming_style.end_in_async.required_prefix = |
|
dotnet_naming_style.end_in_async.required_suffix = Async |
|
dotnet_naming_style.end_in_async.capitalization = pascal_case |
|
dotnet_naming_style.end_in_async.word_separator = |
|
|
|
# Obsolete warnings, this should be removed or changed to warning once we address some of the obsolete items. |
|
dotnet_diagnostic.CS0618.severity = suggestion |
|
|
|
# Obsolete warnings, this should be removed or changed to warning once we address some of the obsolete items. |
|
dotnet_diagnostic.CS0612.severity = suggestion |
|
|
|
# Remove unnecessary using directives https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/ide0005 |
|
dotnet_diagnostic.IDE0005.severity = warning |
|
|
|
# CSharp code style settings: |
|
[*.cs] |
|
# Prefer "var" everywhere |
|
csharp_style_var_for_built_in_types = true:suggestion |
|
csharp_style_var_when_type_is_apparent = true:suggestion |
|
csharp_style_var_elsewhere = true:suggestion |
|
|
|
# Prefer method-like constructs to have a expression-body |
|
csharp_style_expression_bodied_methods = true:none |
|
csharp_style_expression_bodied_constructors = true:none |
|
csharp_style_expression_bodied_operators = true: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 |
|
|
|
# Newline settings |
|
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 |
|
|
|
# Namespace settings |
|
csharp_style_namespace_declarations = file_scoped:warning |
|
|
|
# Switch expression |
|
dotnet_diagnostic.CS8509.severity = error # missing switch case for named enum value |
|
dotnet_diagnostic.CS8524.severity = none # missing switch case for unnamed enum value |
|
|
|
# CA2253: Named placeholders should nto be numeric values |
|
dotnet_diagnostic.CA2253.severity = suggestion |
|
|
|
# CA2254: Template should be a static expression |
|
dotnet_diagnostic.CA2254.severity = warning |
|
|
|
# CA1727: Use PascalCase for named placeholders |
|
dotnet_diagnostic.CA1727.severity = suggestion
|
|
|