-
Notifications
You must be signed in to change notification settings - Fork 467
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
934 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,282 @@ | ||
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs | ||
############################### | ||
# Core EditorConfig Options # | ||
############################### | ||
root = true | ||
# All files | ||
[*] | ||
indent_style = space | ||
end_of_line = lf | ||
|
||
# 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 | ||
|
||
# YAML config files | ||
[*.{yml,yaml}] | ||
tab_width = 2 | ||
indent_size = 2 | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
# JSON config files | ||
[*.json] | ||
tab_width = 2 | ||
indent_size = 2 | ||
insert_final_newline = false | ||
trim_trailing_whitespace = true | ||
|
||
# Typescript files | ||
[*.{ts,tsx}] | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
tab_width = 4 | ||
indent_size = 4 | ||
file_header_template = Copyright (c) Microsoft. All rights reserved. | ||
|
||
# Stylesheet files | ||
[*.{css,scss,sass,less}] | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
tab_width = 4 | ||
indent_size = 4 | ||
|
||
# Code files | ||
[*.{cs,csx,vb,vbx}] | ||
tab_width = 4 | ||
indent_size = 4 | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
charset = utf-8-bom | ||
file_header_template = Copyright (c) Microsoft. All rights reserved. | ||
|
||
############################### | ||
# .NET Coding Conventions # | ||
############################### | ||
[*.{cs,vb}] | ||
# Organize usings | ||
dotnet_sort_system_directives_first = true | ||
# this. preferences | ||
dotnet_style_qualification_for_field = true:error | ||
dotnet_style_qualification_for_property = true:error | ||
dotnet_style_qualification_for_method = true:error | ||
dotnet_style_qualification_for_event = true:error | ||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | ||
dotnet_style_predefined_type_for_member_access = true:suggestion | ||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:error | ||
dotnet_style_readonly_field = true:suggestion | ||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:silent | ||
dotnet_style_prefer_auto_properties = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
dotnet_style_prefer_simplified_interpolation = true:suggestion | ||
dotnet_style_operator_placement_when_wrapping = beginning_of_line | ||
dotnet_style_namespace_match_folder = true:suggestion | ||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
# Code quality rules | ||
dotnet_code_quality_unused_parameters = all:suggestion | ||
|
||
# Suppressed diagnostics | ||
dotnet_diagnostic.CA1002.severity = none # Change 'List<string>' in '...' to use 'Collection<T>' ... | ||
dotnet_diagnostic.CA1034.severity = none # Do not nest type. Alternatively, change its accessibility so that it is not externally visible | ||
dotnet_diagnostic.CA1062.severity = none # Disable null check, C# already does it for us | ||
dotnet_diagnostic.CA1303.severity = none # Do not pass literals as localized parameters | ||
dotnet_diagnostic.CS1591.severity = none # Missing XML comment for publicly visible type or member | ||
dotnet_diagnostic.CA1805.severity = none # Member is explicitly initialized to its default value | ||
dotnet_diagnostic.CA1822.severity = none # Member does not access instance data and can be marked as static | ||
dotnet_diagnostic.CA1848.severity = none # For improved performance, use the LoggerMessage delegates | ||
dotnet_diagnostic.CA1852.severity = none # Type '...' can be sealed because it has no subtypes in its containing assembly and is not externally visible | ||
dotnet_diagnostic.CA2007.severity = none # Do not directly await a Task | ||
dotnet_diagnostic.CA2225.severity = none # Operator overloads have named alternates | ||
dotnet_diagnostic.CA2227.severity = none # Change to be read-only by removing the property setter | ||
dotnet_diagnostic.CA2253.severity = none # Named placeholders in the logging message template should not be comprised of only numeric characters | ||
dotnet_diagnostic.VSTHRD111.severity = none # Use .ConfigureAwait(bool) is hidden by default, set to none to prevent IDE from changing on autosave | ||
|
||
# Diagnostics elevated as warnings | ||
dotnet_diagnostic.CA1000.severity = warning # Do not declare static members on generic types | ||
dotnet_diagnostic.CA1031.severity = warning # Do not catch general exception types | ||
dotnet_diagnostic.CA1032.severity = warning # Add the following constructor to ...Exception: public ... | ||
dotnet_diagnostic.CA1063.severity = warning # Implement IDisposable correctly | ||
dotnet_diagnostic.CA1064.severity = warning # Exceptions should be public | ||
dotnet_diagnostic.CA1416.severity = warning # Validate platform compatibility | ||
dotnet_diagnostic.CA1508.severity = warning # Avoid dead conditional code | ||
dotnet_diagnostic.CA2000.severity = warning # Call System.IDisposable.Dispose on object before all references to it are out of scope | ||
dotnet_diagnostic.CA2201.severity = warning # Exception type System.Exception is not sufficiently specific | ||
|
||
|
||
############################### | ||
# Naming Conventions # | ||
############################### | ||
|
||
# Styles | ||
|
||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
|
||
dotnet_naming_style.static_underscored.capitalization = camel_case | ||
dotnet_naming_style.static_underscored.required_prefix = s_ | ||
|
||
dotnet_naming_style.underscored.capitalization = camel_case | ||
dotnet_naming_style.underscored.required_prefix = _ | ||
|
||
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 = | ||
|
||
# Symbols | ||
|
||
dotnet_naming_symbols.constant_fields.applicable_kinds = field | ||
dotnet_naming_symbols.constant_fields.applicable_accessibilities = * | ||
dotnet_naming_symbols.constant_fields.required_modifiers = const | ||
|
||
dotnet_naming_symbols.private_static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private | ||
dotnet_naming_symbols.private_static_fields.required_modifiers = static | ||
|
||
dotnet_naming_symbols.private_fields.applicable_kinds = field | ||
dotnet_naming_symbols.private_fields.applicable_accessibilities = private | ||
|
||
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 | ||
|
||
# Rules | ||
|
||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = error | ||
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_rule.private_static_fields_underscored.symbols = private_static_fields | ||
dotnet_naming_rule.private_static_fields_underscored.style = static_underscored | ||
dotnet_naming_rule.private_static_fields_underscored.severity = error | ||
|
||
dotnet_naming_rule.private_fields_underscored.symbols = private_fields | ||
dotnet_naming_rule.private_fields_underscored.style = underscored | ||
dotnet_naming_rule.private_fields_underscored.severity = error | ||
|
||
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 = error | ||
|
||
############################### | ||
# C# Coding Conventions # | ||
############################### | ||
[*.cs] | ||
# var preferences | ||
csharp_style_var_for_built_in_types = false:none | ||
csharp_style_var_when_type_is_apparent = false:none | ||
csharp_style_var_elsewhere = false:none | ||
# Expression-bodied members | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
# Null-checking preferences | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
# Modifier preferences | ||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | ||
# Expression-level preferences | ||
csharp_prefer_braces = true:error | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_prefer_local_over_anonymous_function = true:error | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
|
||
############################### | ||
# C# 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 = false # Does not work with resharper, forcing code to be on long lines instead of wrapping | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
# Indentation preferences | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = false | ||
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 | ||
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_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
# Wrapping preferences | ||
csharp_preserve_single_line_statements = true | ||
csharp_preserve_single_line_blocks = true | ||
csharp_using_directive_placement = outside_namespace:warning | ||
csharp_prefer_simple_using_statement = true:suggestion | ||
csharp_style_namespace_declarations = file_scoped:warning | ||
csharp_style_prefer_method_group_conversion = true:silent | ||
csharp_style_prefer_top_level_statements = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = false:silent | ||
|
||
|
||
################## | ||
# C# Style # | ||
################## | ||
|
||
# Disable unneccesary style rules by default | ||
[*.cs] | ||
dotnet_diagnostic.IDE0001.severity = none # Simplify name | ||
dotnet_diagnostic.IDE0002.severity = none # Simplify member access | ||
dotnet_diagnostic.IDE0004.severity = none # Remove unnecessary cast | ||
# dotnet_diagnostic.IDE0005.severity = none # Remove unnecessary usings | ||
dotnet_diagnostic.IDE0035.severity = none # Remove unreachable code | ||
dotnet_diagnostic.IDE0051.severity = none # Remove unused private member | ||
dotnet_diagnostic.IDE0052.severity = none # Remove unread private member | ||
dotnet_diagnostic.IDE0058.severity = none # Remove unused expression value | ||
dotnet_diagnostic.IDE0059.severity = none # Unnecessary assignment of a value | ||
dotnet_diagnostic.IDE0060.severity = none # Remove unused parameter | ||
dotnet_diagnostic.IDE0080.severity = none # Remove unnecessary suppression operator | ||
dotnet_diagnostic.IDE0100.severity = none # Remove unnecessary equality operator | ||
dotnet_diagnostic.IDE0110.severity = none # Remove unnecessary discards | ||
|
||
|
||
############################### | ||
# VB Coding Conventions # | ||
############################### | ||
[*.vb] | ||
trim_trailing_whitespace = true | ||
tab_width = 4 | ||
indent_size = 4 | ||
# Modifier preferences | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Auto-detect text files, ensure they use LF. | ||
* text=auto eol=lf | ||
|
||
# Bash scripts | ||
*.sh text eol=lf |
Oops, something went wrong.