; EditorConfig to support per-solution formatting. ; Use the EditorConfig VS add-in to make this work. ; http://editorconfig.org/ ; ; Here are some resources for what's supported for .NET/C# ; https://kent-boogaart.com/blog/editorconfig-reference-for-c-developers ; https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2017 ; ; Be **careful** editing this because some of the rules don't support adding a severity level ; For instance if you change to `dotnet_sort_system_directives_first = true:warning` (adding `:warning`) ; then the rule will be silently ignored. ; This is the default for the codeline. root = true [*] indent_style = space charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.cs] indent_size = 4 dotnet_sort_system_directives_first = true # Don't use this. qualifier dotnet_style_qualification_for_field = false:suggestion dotnet_style_qualification_for_property = false:suggestion # use int x = .. over Int32 dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion # use int.MaxValue over Int32.MaxValue dotnet_style_predefined_type_for_member_access = true:suggestion # Require var all the time. csharp_style_var_for_built_in_types = true:suggestion csharp_style_var_when_type_is_apparent = true:suggestion csharp_style_var_elsewhere = true:suggestion # Disallow throw expressions. csharp_style_throw_expression = false: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 [*.{xml,config,*proj,nuspec,props,resx,targets,yml,tasks}] indent_size = 2 # Xml config files [*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] indent_size = 2 [*.json] indent_size = 2 [*.{ps1,psm1}] indent_size = 4 [*.sh] indent_size = 4 end_of_line = lf [*.{razor,cshtml}] charset = utf-8-bom [*.{cs,vb}] # CA1305: Specify IFormatProvider dotnet_diagnostic.CA1305.severity = error [*.{cs,vb}] # CA2012: Use ValueTask correctly dotnet_diagnostic.CA2012.severity = warning [**/{test,perf}/**.{cs,vb}] dotnet_diagnostic.CA2012.severity = suggestion