Last active
March 3, 2025 18:08
-
-
Save RealDotNetDave/dbae4d97358ba4515dd52e5b8ca87671 to your computer and use it in GitHub Desktop.
.editorConfig by David (dotNetDave) McCarter - dotNetTips.com
This file contains hidden or 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
#dotNetDave's Editor Config - dotNetTips.com | |
#Suppress: EC116 | |
root = true | |
[*] | |
charset = utf-8-bom | |
end_of_line = crlf | |
indent_size = 4 | |
indent_style = tab | |
insert_final_newline = true | |
#Code files | |
[*.{cs,csx,vb,vbx}] | |
charset = utf-8-bom | |
#Xml project files | |
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] | |
indent_size = 4 | |
#Xml config files | |
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct,xml,stylecop}] | |
indent_size = 2 | |
#JSON files | |
[*.{json,json5}] | |
indent_size = 2 | |
#YAML Files | |
[*.{yml,yaml}] | |
indent_size = 2 | |
#Shell scripts | |
[*.sh] | |
end_of_line = lf | |
[*.{cmd,bat}] | |
end_of_line = crlf | |
#Web Files | |
[*.{htm,html,js,ts,css,scss,less}] | |
indent_size = 2 | |
insert_final_newline = true | |
[*.{cs,vb}] | |
dotnet_diagnostic.CA1014.severity = none | |
#Non-private static fields are PascalCase | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = warning | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | |
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | |
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | |
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | |
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | |
#Constants are PascalCase | |
dotnet_naming_rule.constants_should_be_pascal_case.severity = warning | |
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | |
dotnet_naming_rule.constants_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.constants.applicable_kinds = field, local | |
dotnet_naming_symbols.constants.required_modifiers = const | |
dotnet_naming_style.constant_style.capitalization = pascal_case | |
#Locals and parameters are camelCase | |
dotnet_naming_rule.locals_should_be_camel_case.severity = warning | |
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | |
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | |
dotnet_naming_style.camel_case_style.capitalization = camel_case | |
dotnet_naming_style.static_field_style.required_prefix = s_ | |
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | |
dotnet_naming_symbols.static_fields.required_modifiers = static | |
#Type Parameters | |
dotnet_naming_style.type_parameter_style.capitalization = pascal_case | |
dotnet_naming_style.type_parameter_style.required_prefix = T | |
dotnet_naming_rule.type_parameter_naming.symbols = type_parameter_symbol | |
dotnet_naming_rule.type_parameter_naming.style = type_parameter_style | |
dotnet_naming_rule.type_parameter_naming.severity = warning | |
dotnet_naming_symbols.type_parameter_symbol.applicable_kinds = type_parameter | |
dotnet_naming_symbols.type_parameter_symbol.applicable_accessibilities = * | |
#Instance fields are camelCase and start with _ | |
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion | |
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style | |
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields | |
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | |
dotnet_naming_rule.instance_fields_should_be_camel_case.style = camel_case_underscore_style | |
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | |
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case | |
dotnet_naming_style.camel_case_underscore_style.required_prefix = _ | |
dotnet_naming_style.instance_field_style.capitalization = camel_case | |
dotnet_naming_style.instance_field_style.required_prefix = _ | |
dotnet_naming_symbols.instance_fields.applicable_kinds = field | |
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal | |
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field | |
#Local functions are PascalCase | |
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = warning | |
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = all_members | |
dotnet_naming_rule.local_functions_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | |
dotnet_naming_style.local_function_style.capitalization = pascal_case | |
dotnet_diagnostic.CS8618.severity = silent | |
#this. and Me. preferences | |
dotnet_style_qualification_for_event = true:suggestion | |
dotnet_style_qualification_for_field = true : suggestion | |
dotnet_style_qualification_for_method = true:suggestion | |
dotnet_style_qualification_for_property = true:suggestion | |
#Parentheses preferences | |
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggestion | |
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggestion | |
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion | |
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggestion | |
# Naming styles | |
dotnet_naming_rule.interface_should_be_begins_with_i.severity = warning | |
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface | |
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i | |
dotnet_naming_rule.types_should_be_pascal_case.severity = warning | |
dotnet_naming_rule.types_should_be_pascal_case.symbols = types | |
dotnet_naming_rule.types_should_be_pascal_case.style = non_private_static_field_style | |
#By default, name items with PascalCase | |
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = warning | |
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members | |
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = non_private_static_field_style | |
dotnet_naming_symbols.all_members.applicable_kinds = * | |
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | |
#Symbol specifications | |
dotnet_naming_symbols.interface.required_modifiers = | |
dotnet_naming_symbols.types.required_modifiers = | |
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method | |
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | |
dotnet_naming_symbols.non_field_members.required_modifiers = * | |
#Naming styles | |
dotnet_naming_style.pascal_case.required_prefix = | |
dotnet_naming_style.pascal_case.required_suffix = | |
dotnet_naming_style.pascal_case.word_separator = | |
dotnet_naming_style.pascal_case.capitalization = pascal_case | |
dotnet_naming_style.begins_with_i.required_prefix = I | |
dotnet_naming_style.begins_with_i.required_suffix = | |
dotnet_naming_style.begins_with_i.word_separator = | |
dotnet_naming_style.begins_with_i.capitalization = pascal_case | |
#### Diagnostic #### | |
#VSTHRD002: Avoid problematic synchronous waits | |
dotnet_diagnostic.VSTHRD002.severity= error | |
#CA1401: P/Invokes should not be visible | |
dotnet_diagnostic.CA1401.severity=error | |
#CA1416: Validate platform compatibility | |
dotnet_diagnostic.CA1416.severity=suggestion | |
#CA1417: Do not use OutAttribute on string parameters for P/Invokes | |
dotnet_diagnostic.CA1417.severity=suggestion | |
#CA1501: Avoid excessive inheritance | |
dotnet_diagnostic.CA1501.severity=warning | |
#CA1502: Avoid excessive complexity | |
dotnet_diagnostic.CA1502.severity=warning | |
#CA1505: Avoid unmaintainable code | |
dotnet_diagnostic.CA1505.severity=warning | |
#CA1506: Avoid excessive class coupling | |
dotnet_diagnostic.CA1506.severity=warning | |
#CA1507: Use nameof in place of string | |
dotnet_diagnostic.CA1507.severity=suggestion | |
#CA1508: Avoid dead conditional code | |
dotnet_diagnostic.CA1508.severity=suggestion | |
#CA1509: Invalid entry in code metrics configuration file | |
dotnet_diagnostic.CA1509.severity=suggestion | |
#SA1119 StatementMustNotUseUnnecessaryParenthesis | |
dotnet_diagnostic.SA1119.severity=suggestion | |
#SA1400 AccessModifierMustBeDeclared | |
dotnet_diagnostic.SA1400.severity=warning | |
#SA1401 FieldsMustBePrivate | |
dotnet_diagnostic.SA1401.severity=warning | |
#SA1403 FileMayOnlyContainASingleNamespace | |
dotnet_diagnostic.SA1403.severity=warning | |
#SA1405 DebugAssertMustProvideMessageText | |
dotnet_diagnostic.SA1405.severity=warning | |
#SA1406 DebugFailMustProvideMessageText | |
dotnet_diagnostic.SA1406.severity=warning | |
#SA1409 RemoveUnnecessaryCode | |
dotnet_diagnostic.SA1409.severity=warning | |
#IDISP001 Dispose created | |
dotnet_diagnostic.IDISP001.severity = error | |
#IDISP002 Dispose member | |
dotnet_diagnostic.IDISP002.severity = error | |
#IDISP003 Dispose previous before re-assigning | |
dotnet_diagnostic.IDISP003.severity = error | |
#IDISP004 Don't ignore created IDisposable | |
dotnet_diagnostic.IDISP004.severity = error | |
#IDISP005 Return type should indicate that the value should be disposed | |
dotnet_diagnostic.IDISP005.severity = error | |
#IDISP006 Implement IDisposable | |
dotnet_diagnostic.IDISP006.severity = error | |
#IDISP007 Don't dispose injected | |
dotnet_diagnostic.IDISP007.severity = error | |
#IDISP008 Don't assign member with injected and created disposables | |
dotnet_diagnostic.IDISP008.severity = error | |
#IDISP009 Add IDisposable interface | |
dotnet_diagnostic.IDISP009.severity = error | |
#IDISP010 Call base.Dispose(disposing) | |
dotnet_diagnostic.IDISP010.severity = error | |
#IDISP011 Don't return disposed instance | |
dotnet_diagnostic.IDISP011.severity = warning | |
#IDISP012 Property should not return created disposable | |
dotnet_diagnostic.IDISP012.severity = error | |
#IDISP013 Await in using | |
dotnet_diagnostic.IDISP013.severity = error | |
#IDISP014 Use a single instance of HttpClient | |
dotnet_diagnostic.IDISP014.severity = warning | |
#IDISP015 Member should not return created and cached instance | |
dotnet_diagnostic.IDISP015.severity = error | |
#IDISP016 Don't use disposed instance | |
dotnet_diagnostic.IDISP016.severity = error | |
#IDISP017 Prefer using | |
dotnet_diagnostic.IDISP017.severity = error | |
#IDISP018 Call SuppressFinalize | |
dotnet_diagnostic.IDISP018.severity = error | |
#IDISP019 Call SuppressFinalize | |
dotnet_diagnostic.IDISP019.severity = error | |
#IDISP020 Call SuppressFinalize(this) | |
dotnet_diagnostic.IDISP020.severity = error | |
#IDISP021 Call this.Dispose(true) | |
dotnet_diagnostic.IDISP021.severity = error | |
#IDISP022 Call this.Dispose(false) | |
dotnet_diagnostic.IDISP022.severity = error | |
#IDISP023 Don't use reference types in finalizer context | |
dotnet_diagnostic.IDISP023.severity = error | |
#IDISP024 Don't call GC.SuppressFinalize(this) when the type is sealed and has no finalizer | |
dotnet_diagnostic.IDISP024.severity = error | |
#IDISP025 Class with no virtual dispose method should be sealed | |
dotnet_diagnostic.IDISP025.severity = error | |
dotnet_diagnostic.IDE0063.severity = silent | |
dotnet_diagnostic.IDE0130.severity = warning | |
#### Naming #### | |
#CA1700: Do not name enum values 'Reserved' | |
dotnet_diagnostic.CA1700.severity=warning | |
#CA1707: Identifiers should not contain underscores | |
dotnet_diagnostic.CA1707.severity=suggestion | |
#CA1708: Identifiers should differ by more than case | |
dotnet_diagnostic.CA1708.severity=error | |
#CA1710: Identifiers should have correct suffix | |
dotnet_diagnostic.CA1710.severity=suggestion | |
#CA1711: Identifiers should not have incorrect suffix | |
dotnet_diagnostic.CA1711.severity=silent | |
#CA1712: Do not prefix enum values with type name | |
dotnet_diagnostic.CA1712.severity=warning | |
#CA1713: Events should not have before or after prefix | |
dotnet_diagnostic.CA1713.severity=warning | |
#CA1714: Flags enums should have plural names | |
dotnet_diagnostic.CA1714.severity=error | |
#CA1715: Identifiers should have correct prefix | |
dotnet_diagnostic.CA1715.severity=error | |
#CA1716: Identifiers should not match keywords | |
dotnet_diagnostic.CA1716.severity=warning | |
#CA1717: Only FlagsAttribute enums should have plural names | |
dotnet_diagnostic.CA1717.severity=error | |
#CA1720: Identifiers should not contain type names | |
dotnet_diagnostic.CA1720.severity=warning | |
#CA1721: Property names should not match get methods | |
dotnet_diagnostic.CA1721.severity=warning | |
#CA1724: Type names should not match namespaces | |
dotnet_diagnostic.CA1724.severity=suggestion | |
#CA1725: Parameter names should match base declaration | |
dotnet_diagnostic.CA1725.severity=warning | |
#CA1727: Use PascalCase for named placeholders | |
dotnet_diagnostic.CA1727.severity=warning | |
#### Performance #### | |
# CA1802: Use Literals Where Appropriate | |
dotnet_diagnostic.CA1802.severity=suggestion | |
# CA1805: Do not initialize unnecessarily. | |
dotnet_diagnostic.CA1805.severity=error | |
# CA1806: Do not ignore method results | |
dotnet_diagnostic.CA1806.severity=warning | |
# CA1810: Initialize reference type static fields inline | |
dotnet_diagnostic.CA1810.severity=error | |
# CA1812: Avoid uninstantiated internal classes | |
dotnet_diagnostic.CA1812.severity=suggestion | |
# CA1813: Avoid unsealed attributes | |
dotnet_diagnostic.CA1813.severity=suggestion | |
# CA1814: Prefer jagged arrays over multidimensional | |
dotnet_diagnostic.CA1814.severity=suggestion | |
# CA1815: Override equals and operator equals on value types | |
dotnet_diagnostic.CA1815.severity=warning | |
# CA1819: Properties should not return arrays | |
dotnet_diagnostic.CA1819.severity=warning | |
# CA1820: Test for empty strings using string length | |
dotnet_diagnostic.CA1820.severity=warning | |
# CA1821: Remove empty finalizers | |
dotnet_diagnostic.CA1821.severity=error | |
# CA1822: Mark members as static | |
dotnet_diagnostic.CA1822.severity=suggestion | |
# CA1823: Avoid unused private fields | |
dotnet_diagnostic.CA1823.severity=error | |
# CA1824: Mark assemblies with NeutralResourcesLanguageAttribute | |
dotnet_diagnostic.CA1824.severity=suggestion | |
# CA1825: Avoid zero-length array allocations | |
dotnet_diagnostic.CA1825.severity=suggestion | |
# CA1826: Use property instead of Linq Enumerable method | |
dotnet_diagnostic.CA1826.severity=suggestion | |
# CA1827: Do not use Count/LongCount when Any can be used | |
dotnet_diagnostic.CA1827.severity=suggestion | |
# CA1829: Use Length/Count property instead of Enumerable.Count method | |
dotnet_diagnostic.CA1829.severity=suggestion | |
# CA1830: Prefer strongly-typed Append and Insert method overloads on StringBuilder. | |
dotnet_diagnostic.CA1830.severity=suggestion | |
# CA1831: Use AsSpan instead of Range-based indexers for string when appropriate | |
dotnet_diagnostic.CA1831.severity=suggestion | |
# CA1832: Use AsSpan or AsMemory instead of Range-based indexers for getting ReadOnlySpan or ReadOnlyMemory portion of an array | |
dotnet_diagnostic.CA1832.severity=suggestion | |
# CA1833: Use AsSpan or AsMemory instead of Range-based indexers for getting Span or Memory portion of an array | |
dotnet_diagnostic.CA1833.severity=suggestion | |
# CA1834: Use StringBuilder.Append(char) for single character strings | |
dotnet_diagnostic.CA1834.severity=suggestion | |
# CA1835: Prefer the memory-based overloads of ReadAsync/WriteAsync methods in stream-based classes | |
dotnet_diagnostic.CA1835.severity=suggestion | |
#CA1836: Prefer IsEmpty over Count when available | |
dotnet_diagnostic.CA1836.severity=warning | |
#CA1837: Use Environment.ProcessId instead of Process.GetCurrentProcess().Id | |
dotnet_diagnostic.CA1837.severity=warning | |
#CA1838: Avoid StringBuilder parameters for P/Invokes | |
dotnet_diagnostic.CA1838.severity=warning | |
#CA1841: Prefer Dictionary Contains methods | |
dotnet_diagnostic.CA1841.severity=warning | |
#CA1842: Do not use 'WhenAll' with a single task | |
dotnet_diagnostic.CA1842.severity=warning | |
#CA1843: Do not use 'WaitAll' with a single task | |
dotnet_diagnostic.CA1843.severity=warning | |
#CA1844: Provide memory-based overrides of async methods when subclassing 'Stream' | |
dotnet_diagnostic.CA1844.severity=suggestion | |
#CA1845: Use span-based 'string.Concat' | |
dotnet_diagnostic.CA1845.severity=suggestion | |
#CA1846: Prefer AsSpan over Substring | |
dotnet_diagnostic.CA1846.severity=suggestion | |
#CA1847: Use string.Contains(char) instead of string.Contains(string) with single character | |
dotnet_diagnostic.CA1847.severity=suggestion | |
#CA1848: Use the LoggerMessage delegates | |
dotnet_diagnostic.CA1848.severity=warning | |
#CA1849: Call async methods when in an async method | |
dotnet_diagnostic.CA1849.severity=warning | |
#CA1850: Prefer static HashData method over ComputeHash | |
dotnet_diagnostic.CA1850.severity=warning | |
#Add readonly modifier (IDE0044) | |
dotnet_diagnostic.IDE0044.severity=warning | |
#Use 'System.HashCode.Combine' (IDE0070) | |
dotnet_diagnostic.IDE0070.severity=warning | |
#SYSLIB0012: Type or member is obsolete | |
dotnet_diagnostic.SYSLIB0012.severity = suggestion | |
dotnet_diagnostic.RemoveUnnecessaryImportsFixable.severity=warning | |
#### Reliability #### | |
#CA2000: Dispose objects before losing scope | |
dotnet_diagnostic.CA2000.severity=error | |
#CA2002: Do not lock on objects with weak identity | |
dotnet_diagnostic.CA2002.severity=error | |
#CA2007: Do not directly await a Task | |
dotnet_diagnostic.CA2007.severity=error | |
#CA2008: Do not create tasks without passing a TaskScheduler | |
dotnet_diagnostic.CA2008.severity=suggestion | |
#CA2009: Do not call ToImmutableCollection on an ImmutableCollection value | |
dotnet_diagnostic.CA2009.severity=error | |
#CA2011: Do not assign property within its setter | |
dotnet_diagnostic.CA2011.severity=error | |
#CA2012: Use ValueTasks correctly | |
dotnet_diagnostic.CA2012.severity=error | |
#CA2013: Do not use ReferenceEquals with value types | |
dotnet_diagnostic.CA2013.severity=suggestion | |
#CA2014: Do not use stackalloc in loops | |
dotnet_diagnostic.CA2014.severity=error | |
#CA2015: Do not define finalizers for types derived from MemoryManager<T> | |
dotnet_diagnostic.CA2015.severity=error | |
#CA2016: Forward the CancellationToken parameter to methods that take one | |
dotnet_diagnostic.CA2016.severity=suggestion | |
#CA2017: Parameter count mismatch | |
dotnet_diagnostic.CA2017.severity=error | |
#CA2018: The count argument to Buffer.BlockCopy should specify the number of bytes to copy | |
dotnet_diagnostic.CA2018.severity=warning | |
#### Security Rules #### | |
#CA2100: Review SQL queries for security vulnerabilities | |
dotnet_diagnostic.CA2100.severity=error | |
#CA2109: Review visible event handlers | |
dotnet_diagnostic.CA2109.severity=warning | |
#CA2119: Seal methods that satisfy private interfaces | |
dotnet_diagnostic.CA2119.severity=warning | |
#CA2153: Avoid handling Corrupted State Exceptions | |
dotnet_diagnostic.CA2153.severity=warning | |
#CA2300: Do not use insecure deserializer BinaryFormatter | |
dotnet_diagnostic.CA2300.severity=warning | |
#CA2301: Do not call BinaryFormatter.Deserialize without first setting BinaryFormatter.Binder | |
dotnet_diagnostic.CA2301.severity=warning | |
#CA2302: Ensure BinaryFormatter.Binder is set before calling BinaryFormatter.Deserialize | |
dotnet_diagnostic.CA2302.severity=warning | |
#CA2305: Do not use insecure deserializer LosFormatter | |
dotnet_diagnostic.CA2305.severity=warning | |
#CA2310: Do not use insecure deserializer NetDataContractSerializer | |
dotnet_diagnostic.CA2310.severity=warning | |
#CA2311: Do not deserialize without first setting NetDataContractSerializer.Binder | |
dotnet_diagnostic.CA2311.severity=warning | |
#CA2312: Ensure NetDataContractSerializer.Binder is set before deserializing | |
dotnet_diagnostic.CA2312.severity=warning | |
#CA2315: Do not use insecure deserializer ObjectStateFormatter | |
dotnet_diagnostic.CA2315.severity=warning | |
#CA2321: Do not deserialize with JavaScriptSerializer using a SimpleTypeResolver | |
dotnet_diagnostic.CA2321.severity=warning | |
#CA2322: Ensure JavaScriptSerializer is not initialized with SimpleTypeResolver before deserializing | |
dotnet_diagnostic.CA2322.severity=warning | |
#CA2326: Do not use TypeNameHandling values other than None | |
dotnet_diagnostic.CA2326.severity=warning | |
#CA2327: Do not use insecure JsonSerializerSettings | |
dotnet_diagnostic.CA2327.severity=warning | |
#CA2328: Ensure that JsonSerializerSettings are secure | |
dotnet_diagnostic.CA2328.severity=warning | |
#CA2329: Do not deserialize with JsonSerializer using an insecure configuration | |
dotnet_diagnostic.CA2329.severity=warning | |
#CA2330: Ensure that JsonSerializer has a secure configuration when deserializing | |
dotnet_diagnostic.CA2330.severity=warning | |
#CA2350: Ensure DataTable.ReadXml()'s input is trusted | |
dotnet_diagnostic.CA2350.severity=warning | |
#CA2351: Ensure DataSet.ReadXml()'s input is trusted | |
dotnet_diagnostic.CA2351.severity=warning | |
#CA2352: Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks | |
dotnet_diagnostic.CA2352.severity=warning | |
#CA2353: Unsafe DataSet or DataTable in serializable type | |
dotnet_diagnostic.CA2353.severity=warning | |
#CA2354: Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attack | |
dotnet_diagnostic.CA2354.severity=warning | |
#CA2355: Unsafe DataSet or DataTable in deserialized object graph | |
dotnet_diagnostic.CA2355.severity=warning | |
#CA2356: Unsafe DataSet or DataTable type in web deserialized object graph | |
dotnet_diagnostic.CA2356.severity=warning | |
#CA2361: Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data | |
dotnet_diagnostic.CA2361.severity=warning | |
#CA2362: Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks | |
dotnet_diagnostic.CA2362.severity=warning | |
#CA3001: Review code for SQL injection vulnerabilities | |
dotnet_diagnostic.CA3001.severity=warning | |
#CA3002: Review code for XSS vulnerabilities | |
dotnet_diagnostic.CA3002.severity=warning | |
#CA3003: Review code for file path injection vulnerabilities | |
dotnet_diagnostic.CA3003.severity=warning | |
#CA3004: Review code for information disclosure vulnerabilities | |
dotnet_diagnostic.CA3004.severity=warning | |
#CA3005: Review code for LDAP injection vulnerabilities | |
dotnet_diagnostic.CA3005.severity = none | |
#CA3006: Review code for process command injection vulnerabilities | |
dotnet_diagnostic.CA3006.severity = none | |
#CA3007: Review code for open redirect vulnerabilities | |
dotnet_diagnostic.CA3007.severity = none | |
#CA3008: Review code for XPath injection vulnerabilities | |
dotnet_diagnostic.CA3008.severity = none | |
#CA3009: Review code for XML injection vulnerabilities | |
dotnet_diagnostic.CA3009.severity = none | |
#CA3010: Review code for XAML injection vulnerabilities | |
dotnet_diagnostic.CA3010.severity = none | |
#CA3011: Review code for DLL injection vulnerabilities | |
dotnet_diagnostic.CA3011.severity = none | |
#CA3012: Review code for regex injection vulnerabilities | |
dotnet_diagnostic.CA3012.severity = none | |
#CA3061: Do Not Add Schema By URL | |
dotnet_diagnostic.CA3061.severity = warning | |
#CA3075: Insecure DTD processing in XML | |
dotnet_diagnostic.CA3075.severity = warning | |
#CA3076: Insecure XSLT script processing. | |
dotnet_diagnostic.CA3076.severity = warning | |
#CA3077: Insecure Processing in API Design, XmlDocument and XmlTextReader | |
dotnet_diagnostic.CA3077.severity = warning | |
#CA3147: Mark Verb Handlers With Validate Antiforgery Token | |
dotnet_diagnostic.CA3147.severity = warning | |
#CA5350: Do Not Use Weak Cryptographic Algorithms | |
dotnet_diagnostic.CA5350.severity = warning | |
#CA5351: Do Not Use Broken Cryptographic Algorithms | |
dotnet_diagnostic.CA5351.severity = warning | |
#CA5358: Do Not Use Unsafe Cipher Modes | |
dotnet_diagnostic.CA5358.severity = none | |
#CA5359: Do Not Disable Certificate Validation | |
dotnet_diagnostic.CA5359.severity = warning | |
#CA5360: Do Not Call Dangerous Methods In Deserialization | |
dotnet_diagnostic.CA5360.severity = warning | |
#CA5361: Do Not Disable SChannel Use of Strong Crypto | |
dotnet_diagnostic.CA5361.severity = warning | |
#CA5362: Do Not Refer Self In Serializable Class | |
dotnet_diagnostic.CA5362.severity = none | |
#CA5363: Do Not Disable Request Validation | |
dotnet_diagnostic.CA5363.severity = warning | |
#CA5364: Do Not Use Deprecated Security Protocols | |
dotnet_diagnostic.CA5364.severity = warning | |
#CA5365: Do Not Disable HTTP Header Checking | |
dotnet_diagnostic.CA5365.severity = warning | |
#CA5366: Use XmlReader For DataSet Read Xml | |
dotnet_diagnostic.CA5366.severity = warning | |
#CA5367: Do Not Serialize Types With Pointer Fields | |
dotnet_diagnostic.CA5367.severity = none | |
#CA5368: Set ViewStateUserKey For Classes Derived From Page | |
dotnet_diagnostic.CA5368.severity = warning | |
#CA5369: Use XmlReader For Deserialize | |
dotnet_diagnostic.CA5369.severity = warning | |
#CA5370: Use XmlReader For Validating Reader | |
dotnet_diagnostic.CA5370.severity = warning | |
#CA5371: Use XmlReader For Schema Read | |
dotnet_diagnostic.CA5371.severity = warning | |
#CA5372: Use XmlReader For XPathDocument | |
dotnet_diagnostic.CA5372.severity = warning | |
#CA5373: Do not use obsolete key derivation function | |
dotnet_diagnostic.CA5373.severity = warning | |
#CA5374: Do Not Use XslTransform | |
dotnet_diagnostic.CA5374.severity = warning | |
#CA5375: Do Not Use Account Shared Access Signature | |
dotnet_diagnostic.CA5375.severity = none | |
#CA5376: Use SharedAccessProtocol HttpsOnly | |
dotnet_diagnostic.CA5376.severity = warning | |
#CA5377: Use Container Level Access Policy | |
dotnet_diagnostic.CA5377.severity = warning | |
#CA5378: Do not disable ServicePointManagerSecurityProtocols | |
dotnet_diagnostic.CA5378.severity = warning | |
#CA5379: Do Not Use Weak Key Derivation Function Algorithm | |
dotnet_diagnostic.CA5379.severity = warning | |
#CA5380: Do Not Add Certificates To Root Store | |
dotnet_diagnostic.CA5380.severity = warning | |
#CA5381: Ensure Certificates Are Not Added To Root Store | |
dotnet_diagnostic.CA5381.severity = warning | |
#CA5382: Use Secure Cookies In ASP.Net Core | |
dotnet_diagnostic.CA5382.severity = warning | |
#CA5383: Ensure Use Secure Cookies In ASP.Net Core | |
dotnet_diagnostic.CA5383.severity = warning | |
#CA5384: Do Not Use Digital Signature Algorithm (DSA) | |
dotnet_diagnostic.CA5384.severity = warning | |
#CA5385: Use Rivest–Shamir–Adleman (RSA) Algorithm With Sufficient Key Size | |
dotnet_diagnostic.CA5385.severity = warning | |
#CA5386: Avoid hardcoding SecurityProtocolType value | |
dotnet_diagnostic.CA5386.severity = warning | |
#CA5387: Do Not Use Weak Key Derivation Function With Insufficient Iteration Count | |
dotnet_diagnostic.CA5387.severity = warning | |
#CA5388: Ensure Sufficient Iteration Count When Using Weak Key Derivation Function | |
dotnet_diagnostic.CA5388.severity = warning | |
#CA5389: Do Not Add Archive Item's Path To The Target File System Path | |
dotnet_diagnostic.CA5389.severity = suggestion | |
#CA5390: Do Not Hard Code Encryption Key | |
dotnet_diagnostic.CA5390.severity = error | |
#CA5391: Use antiforgery tokens in ASP.NET Core MVC controllers | |
dotnet_diagnostic.CA5391.severity = warning | |
#CA5392: Use DefaultDllImportSearchPaths attribute for P/Invokes | |
dotnet_diagnostic.CA5392.severity = warning | |
#CA5393: Do not use unsafe DllImportSearchPath value | |
dotnet_diagnostic.CA5393.severity = warning | |
#CA5394: Do not use insecure randomness | |
dotnet_diagnostic.CA5394.severity = warning | |
#CA5395: Miss HttpVerb attribute for action methods | |
dotnet_diagnostic.CA5395.severity = warning | |
#CA5396: Set HttpOnly to true for HttpCookie | |
dotnet_diagnostic.CA5396.severity = warning | |
#CA5397: Do not use deprecated SslProtocols values | |
dotnet_diagnostic.CA5397.severity = warning | |
#CA5398: Avoid hardcoded SslProtocols values | |
dotnet_diagnostic.CA5398.severity = warning | |
#CA5399: Definitely disable HttpClient certificate revocation list check | |
dotnet_diagnostic.CA5399.severity = warning | |
#CA5400: Ensure HttpClient certificate revocation list check is not disabled | |
dotnet_diagnostic.CA5400.severity = warning | |
#CA5401: Do not use CreateEncryptor with non-default IV | |
dotnet_diagnostic.CA5401.severity = suggestion | |
#CA5402: Use CreateEncryptor with the default IV | |
dotnet_diagnostic.CA5402.severity = warning | |
#CA5403: Do not hard-code certificate | |
dotnet_diagnostic.CA5403.severity = error | |
#CA5405: Do not always skip token validation in delegates | |
dotnet_diagnostic.CA5404.severity = error | |
#### Usage Rules #### | |
#CA1801: Review unused parameters | |
dotnet_diagnostic.CA1801.severity = warning | |
#CA1816: Call GC.SuppressFinalize correctly | |
dotnet_diagnostic.CA1816.severity=error | |
#CA2200: Rethrow to preserve stack details | |
dotnet_diagnostic.CA2200.severity=error | |
#CA2201: Do not raise reserved exception types | |
dotnet_diagnostic.CA2201.severity=error | |
#CA2207: Initialize value type static fields inline | |
dotnet_diagnostic.CA2207.severity=warning | |
#CA2208: Instantiate argument exceptions correctly | |
dotnet_diagnostic.CA2208.severity=error | |
#CA2211: Non-constant fields should not be visible | |
dotnet_diagnostic.CA2211.severity=error | |
#CA2213: Disposable fields should be disposed | |
dotnet_diagnostic.CA2213.severity=warning | |
#CA2214: Do not call overridable methods in constructors | |
dotnet_diagnostic.CA2214.severity=warning | |
#CA2215: Dispose methods should call base class dispose | |
dotnet_diagnostic.CA2215.severity=warning | |
#CA2216: Disposable types should declare finalizer | |
dotnet_diagnostic.CA2216.severity=warning | |
#CA2217: Do not mark enums with FlagsAttribute | |
dotnet_diagnostic.CA2216.severity=error | |
#CA2218: Override GetHashCode on overriding Equals | |
dotnet_diagnostic.CA2218.severity=warning | |
#CA2219: Do not raise exceptions in exception clauses | |
dotnet_diagnostic.CA2219.severity=error | |
#CA2224: Override Equals on overloading operator equals | |
dotnet_diagnostic.CA2224.severity=warning | |
#CA2225: Operator overloads have named alternates | |
dotnet_diagnostic.CA2225.severity=warning | |
#CA2226: Operators should have symmetrical overloads | |
dotnet_diagnostic.CA2226.severity=warning | |
#CA2227: Collection properties should be read only | |
dotnet_diagnostic.CA2227.severity=warning | |
#CA2229: Implement serialization constructors | |
dotnet_diagnostic.CA2229.severity=warning | |
#CA2231: Overload operator equals on overriding ValueType.Equals | |
dotnet_diagnostic.CA2231.severity=warning | |
#CA2234: Pass System.Uri objects instead of strings | |
dotnet_diagnostic.CA2234.severity=warning | |
#CA2235: Mark all non-serializable fields | |
dotnet_diagnostic.CA2235.severity=suggestion | |
#CA2237: Mark ISerializable types with SerializableAttribute | |
dotnet_diagnostic.CA2237.severity=warning | |
#CA2241: Provide correct arguments to formatting methods | |
dotnet_diagnostic.CA2241.severity=warning | |
#CA2242: Test for NaN correctly | |
dotnet_diagnostic.CA2242.severity=warning | |
#CA2243: Attribute string literals should parse correctly | |
dotnet_diagnostic.CA2243.severity=warning | |
#CA2244: Do not duplicate indexed element initializations | |
dotnet_diagnostic.CA2244.severity=warning | |
#CA2245: Do not assign a property to itself | |
dotnet_diagnostic.CA2245.severity=warning | |
#CA2246: Do not assign a symbol and its member in the same statement | |
dotnet_diagnostic.CA2246.severity=warning | |
#CA2247: Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum | |
dotnet_diagnostic.CA2247.severity=warning | |
#CA2248: Provide correct enum argument to Enum.HasFlag | |
dotnet_diagnostic.CA2248.severity=warning | |
#CA2249: Consider using String.Contains instead of String.IndexOf | |
dotnet_diagnostic.CA2249.severity=warning | |
#CA2250: Use ThrowIfCancellationRequested | |
dotnet_diagnostic.CA2250.severity=warning | |
#CA2251: Use String.Equals over String.Compare | |
dotnet_diagnostic.CA2251.severity=warning | |
#CA2252: Opt in to preview features | |
dotnet_diagnostic.CA2252.severity=suggestion | |
#CA2253: Named placeholders should not be numeric values | |
dotnet_diagnostic.CA2253.severity=warning | |
#CA2254: Template should be a static expression | |
dotnet_diagnostic.CA2254.severity=warning | |
#CA2255: The ModuleInitializer attribute should not be used in libraries | |
dotnet_diagnostic.CA225.severity=warning | |
#CA2256: All members declared in parent interfaces must have an implementation in a DynamicInterfaceCastableImplementation-attributed interface | |
dotnet_diagnostic.CA226.severity=warning | |
#CA2257: Members defined on an interface with 'DynamicInterfaceCastableImplementationAttribute' should be 'static' | |
dotnet_diagnostic.CA227.severity=warning | |
#CA2258: Providing a 'DynamicInterfaceCastableImplementation' interface in Visual Basic is unsupported | |
dotnet_diagnostic.CA228.severity=warning | |
#### Language Rules #### | |
#this and Me preferences (IDE0003 and IDE0009) | |
dotnet_diagnostic.IDE0003.severity=suggestion | |
dotnet_diagnostic.IDE0009.severity=suggestion | |
dotnet_style_qualification_for_field = true:suggestion | |
# Simplify name (IDE0001) | |
dotnet_diagnostic.IDE0001.severity=warning | |
# Simplify member access (IDE0002) | |
dotnet_diagnostic.IDE0002.severity=silent | |
# Remove unnecessary cast (IDE0004) | |
dotnet_diagnostic.IDE0004.severity=warning | |
# Remove unnecessary import (IDE0005) | |
dotnet_diagnostic.IDE0005.severity=warning | |
#Simplify 'default' expression (IDE0034) | |
dotnet_diagnostic.IDE0034.severity=suggestion | |
#Remove unreachable code (IDE0035) | |
dotnet_diagnostic.IDE0035.severity=warning | |
#Order modifiers (IDE0036) | |
dotnet_diagnostic.IDE0036.severity=warning | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async : warning | |
#Add accessibility modifiers (IDE0040) | |
dotnet_diagnostic.IDE0040.severity=error | |
# IDE0043: Format string contains invalid placeholder | |
dotnet_diagnostic.IDE0043.severity = warning | |
#Add readonly modifier (IDE0044) | |
dotnet_diagnostic.IDE0044.severity=warning | |
#Use language keywords instead of framework type names for type references (IDE0049) | |
dotnet_diagnostic.IDE0049.severity=suggestion | |
dotnet_style_predefined_type_for_locals_parameters_members = true:warning | |
dotnet_style_predefined_type_for_member_access = true:warning | |
#Convert anonymous type to tuple (IDE0050) | |
dotnet_diagnostic.IDE0050.severity=suggestion | |
#Remove unused private member (IDE0051) | |
dotnet_diagnostic.IDE0051.severity=suggestion | |
#Remove unused private member (IDE0052) | |
dotnet_diagnostic.IDE0052.severity=suggestion | |
#Use index operator (IDE0056) | |
dotnet_diagnostic.IDE0056.severity=suggestion | |
#Use range operator (IDE0057) | |
dotnet_diagnostic.IDE0057.severity=suggestion | |
#Make local function static (IDE0062) | |
dotnet_diagnostic.IDE0062.severity=suggestion | |
#Add missing cases to switch expression (IDE0072) | |
dotnet_diagnostic.IDE0072.severity=suggestion | |
#Simplify new expression (IDE0090) | |
dotnet_diagnostic.IDE0090.severity=suggestion | |
#??? | |
dotnet_diagnostic.IDE0120.severity=suggestion | |
#Modifier preferences | |
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning | |
#Make local function static (IDE0062) | |
dotnet_diagnostic.IDE0062.severity=suggestion | |
csharp_prefer_static_local_function = true : suggestion | |
#Make struct fields writable (IDE0064) | |
dotnet_diagnostic.IDE0064.severity=suggestion | |
#Parentheses preferences (IDE0047 and IDE0048) | |
dotnet_diagnostic.IDE0047.severity=warning | |
dotnet_diagnostic.IDE0048.severity=warning | |
#Add missing cases to switch statement (IDE0010) | |
dotnet_diagnostic.IDE0010.severity=suggestion | |
#Use object initializers (IDE0017) | |
dotnet_diagnostic.IDE0017.severity=suggestion | |
#Inline variable declaration (IDE0018) | |
dotnet_diagnostic.IDE0018.severity=suggestion | |
#Use collection initializers (IDE0028) | |
dotnet_diagnostic.IDE0028.severity=suggestion | |
#Use auto property (IDE0032) | |
dotnet_diagnostic.IDE0032.severity=suggestion | |
#Use explicitly provided tuple name (IDE0033) | |
dotnet_diagnostic.IDE0033.severity=suggestion | |
#Simplify 'default' expression (IDE0034) | |
dotnet_diagnostic.IDE0034.severity=suggestion | |
csharp_prefer_simple_default_expression = true : suggestion | |
#Use inferred member name (IDE0037) | |
dotnet_diagnostic.IDE0037.severity=suggestion | |
#Use local function instead of lambda (IDE0039) | |
dotnet_diagnostic.IDE0039.severity=suggestion | |
#Deconstruct variable declaration (IDE0042) | |
dotnet_diagnostic.IDE0042.severity=suggestion | |
#Use conditional expression for assignment (IDE0045) | |
dotnet_diagnostic.IDE0045.severity=suggestion | |
#Use conditional expression for return (IDE0046) | |
dotnet_diagnostic.IDE0046.severity=suggestion | |
#Convert anonymous type to tuple (IDE0050) | |
dotnet_diagnostic.IDE050.severity=suggestion | |
#Use compound assignment (IDE0054 and IDE0074) | |
dotnet_diagnostic.IDE0054.severity=suggestion | |
dotnet_diagnostic.IDE0074.severity=suggestion | |
#Simplify conditional expression (IDE0075) | |
dotnet_diagnostic.IDE0075.severity=suggestion | |
#Convert typeof to nameof (IDE0082) | |
dotnet_diagnostic.IDE0082.severity=suggestion | |
#Simplify new expression (IDE0090) | |
dotnet_diagnostic.IDE0090.severity=suggestion | |
#Use throw expression (IDE0016) | |
dotnet_diagnostic.IDE0016.severity=warning | |
#Use coalesce expression (IDE0029 and IDE0030) | |
dotnet_diagnostic.IDE0029.severity=suggestion | |
dotnet_diagnostic.IDE0030.severity=suggestion | |
#Expression-level preferences | |
dotnet_style_coalesce_expression = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_explicit_tuple_names = true:suggestion | |
dotnet_style_null_propagation = true:suggestion | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_operator_placement_when_wrapping = beginning_of_line | |
dotnet_style_prefer_auto_properties = true:suggestion | |
dotnet_style_prefer_compound_assignment = true:suggestion | |
dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion | |
dotnet_style_prefer_conditional_expression_over_return = true:suggestion | |
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | |
dotnet_style_prefer_inferred_tuple_names = true:suggestion | |
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | |
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion | |
dotnet_style_prefer_simplified_interpolation = true:suggestion | |
#Field preferences | |
dotnet_style_readonly_field = true:warning | |
#Parameter preferences | |
dotnet_code_quality_unused_parameters = all:warning | |
#Suppression preferences | |
dotnet_remove_unnecessary_suppression_exclusions = none | |
#Use null propagation (IDE0031) | |
dotnet_diagnostic.IDE0031.severity=suggestion | |
#Use is null check (IDE0041) | |
dotnet_diagnostic.IDE0041.severity=suggestion | |
#Use conditional delegate call (IDE1005)i | |
dotnet_diagnostic.IDE1005.severity=suggestion | |
#'var' preferences (IDE0007 and IDE0008) | |
dotnet_diagnostic.IDE0007.severity=warning | |
dotnet_diagnostic.IDE0008.severity=warning | |
#Use expression body for constructors (IDE0021) | |
dotnet_diagnostic.IDE0021.severity=silent | |
#Use expression body for methods (IDE0022) | |
dotnet_diagnostic.IDE0022.severity=silent | |
#Use expression body for operators (IDE0023 and IDE0024) | |
dotnet_diagnostic.IDE0023.severity=warning | |
dotnet_diagnostic.IDE0024.severity=silent | |
#Use expression body for properties (IDE0025) | |
dotnet_diagnostic.IDE0025.severity=warning | |
#Use expression body for indexers (IDE0026) | |
dotnet_diagnostic.IDE0026.severity=suggestion | |
#Use expression body for accessors (IDE0027) | |
dotnet_diagnostic.IDE0027.severity=suggestion | |
#Use expression body for lambdas (IDE0053) | |
dotnet_diagnostic.IDE0053.severity=suggestion | |
#Use expression body for local functions (IDE0061) | |
dotnet_diagnostic.IDE0061.severity=suggestion | |
#Use pattern matching to avoid 'as' followed by a 'null' check (IDE0019) | |
dotnet_diagnostic.IDE0019.severity=suggestion | |
#Use pattern matching to avoid 'is' check followed by a cast (IDE0020) | |
dotnet_diagnostic.IDE0020.severity=suggestion | |
#Use switch expression (IDE0066) | |
dotnet_diagnostic.IDE0066.severity=suggestion | |
#Use pattern matching (IDE0078) | |
dotnet_diagnostic.IDE0078.severity=suggestion | |
#Use pattern matching (not operator) (IDE0083) | |
dotnet_diagnostic.IDE0083.severity=suggestion | |
#Use pattern matching (IsNot operator) (IDE0084) | |
dotnet_diagnostic.IDE0084.severity=suggestion | |
visual_basic_style_prefer_isnot_expression = true : suggestion | |
#Add braces (IDE0011) | |
dotnet_diagnostic.IDE0011.severity=error | |
csharp_prefer_braces = true : error | |
# IDE0035: Remove unreachable code | |
dotnet_diagnostic.IDE0035.severity = warning | |
#Use simple 'using' statement (IDE0063) | |
dotnet_diagnostic.IDE0063.severity=suggestion | |
csharp_prefer_simple_using_statement = false : disabled | |
#'using' directive placement (IDE0065) | |
dotnet_diagnostic.IDE0065.severity=warning | |
csharp_using_directive_placement = outside_namespace : warning | |
#Require file header (IDE0073) | |
dotnet_diagnostic.IDE0073.severity=warning | |
file_header_template = unset | |
#Remove unread private member (IDE0052) | |
dotnet_diagnostic.IDE0052.severity=error | |
#Remove unnecessary expression value (IDE0058) | |
dotnet_diagnostic.IDE0058.severity=warning | |
#Remove unnecessary value assignment (IDE0059) | |
dotnet_diagnostic.IDE0059.severity=error | |
#Remove unused parameter (IDE0060) | |
dotnet_diagnostic.IDE0060.severity=error | |
#Remove unnecessary suppression (IDE0079) | |
dotnet_diagnostic.IDE0079.severity=error | |
#Remove unnecessary suppression operator (IDE0080) | |
dotnet_diagnostic.IDE0080.severity=suggestion | |
#Remove ByVal (IDE0081) | |
dotnet_diagnostic.IDE0080.severity=warning | |
#Remove unnecessary equality operator (IDE0100) | |
dotnet_diagnostic.IDE0100.severity=warning | |
#Remove unnecessary discard (IDE0110) | |
dotnet_diagnostic.IDE0110.severity=warning | |
#Simplify object creation (IDE0140) | |
dotnet_diagnostic.IDE0110.severity=suggestion | |
visual_basic_style_prefer_simplified_object_creation = all : suggestion | |
#IDE0055 (Fix formatting) | |
dotnet_diagnostic.IDE0055.severity=warning | |
#Organize usings | |
dotnet_separate_import_directive_groups = false | |
dotnet_sort_system_directives_first = true | |
#IDE1006 (Naming rule violation) | |
dotnet_diagnostic.IDE1006.severity=warning | |
dotnet_naming_rule.public_members_must_be_capitalized.severity = warning | |
dotnet_naming_rule.public_members_must_be_capitalized.style = first_word_upper_case_style | |
dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols | |
dotnet_naming_style.first_word_upper_case_style.capitalization = first_word_upper | |
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | |
dotnet_naming_symbols.interface.applicable_kinds = interface | |
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public | |
dotnet_naming_symbols.public_symbols.applicable_kinds = property,method,field,event,delegate | |
dotnet_naming_symbols.public_symbols.required_modifiers = readonly | |
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | |
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum | |
# RS0016: Only enable if API files are present | |
dotnet_public_api_analyzer.require_api_files = true | |
# warning RS0005: Do not use generic CodeAction.Create to create CodeAction | |
dotnet_diagnostic.RS0005.severity = none | |
#### Unnecessary Code Rules #### | |
#Remove unnecessary expression value (IDE0058) | |
dotnet_diagnostic.IDE0058.severity=suggestion | |
#### Design Rules #### | |
#CA1000: Do not declare static members on generic typesk | |
dotnet_diagnostic.CA1000.severity=suggestion | |
#CA1001: Types that own disposable fields should be disposable | |
dotnet_diagnostic.CA1001.severity=error | |
#CA1002: Do not expose generic lists | |
dotnet_diagnostic.CA1002.severity=error | |
#CA1003: Use generic event handler instances | |
dotnet_diagnostic.CA1003.severity=warning | |
#CA1005: Avoid excessive parameters on generic types | |
dotnet_diagnostic.CA1005.severity=warning | |
#CA1008: Enums should have zero value | |
dotnet_diagnostic.CA1008.severity=error | |
#CA1010: Collections should implement generic interface | |
dotnet_diagnostic.CA1008.severity=warning | |
#CA1012: Abstract types should not have public constructors | |
dotnet_diagnostic.CA1012.severity=warning | |
#CA1014: Mark assemblies with CLSCompliantAttribute | |
dotnet_diagnostic.CA1014.severity=none | |
#CA1016: Mark assemblies with AssemblyVersionAttribute | |
dotnet_diagnostic.CA1016.severity=error | |
#CA1017: Mark assemblies with ComVisibleAttribute | |
dotnet_diagnostic.CA1017.severity=suggestion | |
#CA1018: Mark attributes with AttributeUsageAttribute | |
dotnet_diagnostic.CA1018.severity=suggestion | |
#CA1019: Define accessors for attribute arguments | |
dotnet_diagnostic.CA1019.severity=suggestion | |
#CA1021: Avoid out parameters | |
dotnet_diagnostic.CA1021.severity=suggestion | |
#CA1024: Use properties where appropriate | |
dotnet_diagnostic.CA1024.severity=suggestion | |
#CA1027: Mark enums with FlagsAttribute | |
dotnet_diagnostic.CA1027.severity=error | |
#CA1028: Enum storage should be Int32 | |
dotnet_diagnostic.CA1028.severity=error | |
#CA1030: Use events where appropriate | |
dotnet_diagnostic.CA1030.severity=suggestion | |
#CA1031: Do not catch general exception types | |
dotnet_diagnostic.CA1031.severity=none | |
#CA1032: Implement standard exception constructors | |
dotnet_diagnostic.CA1032.severity=suggestion | |
#CA1033: Interface methods should be callable by child types | |
dotnet_diagnostic.CA1033.severity=suggestion | |
#CA1034: Nested types should not be visible | |
dotnet_diagnostic.CA1034.severity=error | |
#CA1036: Override methods on comparable types | |
dotnet_diagnostic.CA1036.severity=suggestion | |
#CA1040: Avoid empty interfaces | |
dotnet_diagnostic.CA1040.severity=suggestion | |
#CA1041: Provide ObsoleteAttribute message | |
dotnet_diagnostic.CA1041.severity=warning | |
#CA1043: Use integral or string argument for indexers | |
dotnet_diagnostic.CA1043.severity=suggestion | |
#CA1044: Properties should not be write only | |
dotnet_diagnostic.CA1044.severity=error | |
#CA1045: Do not pass types by reference | |
dotnet_diagnostic.CA1045.severity=warning | |
#CA1046: Do not overload operator equals on reference types | |
dotnet_diagnostic.CA1046.severity=warning | |
#CA1047: Do not declare protected members in sealed types | |
dotnet_diagnostic.CA1047.severity=error | |
#CA1050: Declare types in namespaces | |
dotnet_diagnostic.CA1050.severity=warning | |
#CA1051: Do not declare visible instance fields | |
dotnet_diagnostic.CA1051.severity=error | |
#CA1052: Static holder types should be Static or NotInheritable | |
dotnet_diagnostic.CA1052.severity=warning | |
#CA1053: Static holder types should not have default constructors | |
dotnet_diagnostic.CA1053.severity=warning | |
#CA1054: URI parameters should not be strings | |
dotnet_diagnostic.CA1054.severity=warning | |
#CA1055: URI return values should not be strings | |
dotnet_diagnostic.CA1055.severity=warning | |
#CA1056: URI properties should not be strings | |
dotnet_diagnostic.CA1056.severity=warning | |
#CA1058: Types should not extend certain base types | |
dotnet_diagnostic.CA1058.severity=warning | |
#CA1060: Move P/Invokes to NativeMethods class | |
dotnet_diagnostic.CA1060.severity=warning | |
#CA1061: Do not hide base class methods | |
dotnet_diagnostic.CA1061.severity=warning | |
#CA1062: Validate arguments of public methods | |
dotnet_diagnostic.CA1062.severity=suggestion | |
#CA1063: Implement IDisposable correctly | |
dotnet_diagnostic.CA1063.severity=error | |
#CA1064: Exceptions should be public | |
dotnet_diagnostic.CA1064.severity=warning | |
#CA1065: Do not raise exceptions in unexpected locations | |
dotnet_diagnostic.CA1065.severity=warning | |
#CA1066: Implement IEquatable when overriding Equals | |
dotnet_diagnostic.CA1066.severity=warning | |
#CA1067: Override Equals when implementing IEquatable | |
dotnet_diagnostic.CA1067.severity=warning | |
#CA1068: CancellationToken parameters must come last | |
dotnet_diagnostic.CA1068.severity=warning | |
#CA1069: Enums should not have duplicate values | |
dotnet_diagnostic.CA1069.severity=error | |
#CA1070: Do not declare event fields as virtual | |
dotnet_diagnostic.CA1070.severity=warning | |
#### Documentation Rules #### | |
#CA1200: Avoid using cref tags with a prefix | |
dotnet_diagnostic.CA1200.severity=suggestion | |
#### Globalization Rules #### | |
#CA1303: Do not pass literals as localized parameters | |
dotnet_diagnostic.CA1303.severity=warning | |
#CA1304: Specify CultureInfo | |
dotnet_diagnostic.CA1304.severity=error | |
#CA1305: Specify IFormatProvider | |
dotnet_diagnostic.CA1305.severity=error | |
#CA1307: Specify StringComparison for clarity | |
dotnet_diagnostic.CA1307.severity=error | |
#CA1308: Normalize strings to uppercase | |
dotnet_diagnostic.CA1308.severity=warning | |
#CA1309: Use ordinal StringComparison | |
dotnet_diagnostic.CA1309.severity=warning | |
#CA1310: Specify StringComparison for correctness | |
dotnet_diagnostic.CA1310.severity=warning | |
#CA2101: Specify marshaling for P/Invoke string arguments | |
dotnet_diagnostic.CA2101.severity=warning | |
#### SingleFile Rules #### | |
#IL3000: Avoid using accessing Assembly file path when publishing as a single-file | |
dotnet_diagnostic.IL3000.severity = error | |
#IL3001: Avoid using accessing Assembly file path when publishing as a single-file | |
dotnet_diagnostic.IL3001.severity = error | |
#IL3002: Avoid calling members annotated with 'RequiresAssemblyFilesAttribute' when publishing as a single file. | |
dotnet_diagnostic.IL3002.severity = error | |
#IL3003 'RequiresAssemblyFilesAttribute' annotations must match across all interface implementations or overrides. | |
dotnet_diagnostic.IL3003.severity = error | |
#### Miscellaneous Rules #### | |
#Remove invalid global 'SuppressMessageAttribute' (IDE0076) | |
dotnet_diagnostic.IDE0076.severity=suggestion | |
#Avoid legacy format target in global 'SuppressMessageAttribute' (IDE0077) | |
dotnet_diagnostic.IDE0077.severity=suggestion | |
#### StyleCop Rules #### | |
#A violation of this rule occurs when a compilation (project) contains one or more files which are parsed with the DocumentationMode set to None. This most frequently occurs when the project is configured to not produce an XML documentation file during the build. | |
dotnet_diagnostic.SA0001.severity = warning | |
#SA1000 The spacing around a C# keyword is incorrect. | |
dotnet_diagnostic.SA1000.severity = warning | |
#SA1100 DoNotPrefixCallsWithBaseUnlessLocalImplementationExists | |
dotnet_diagnostic.SA1100.severity = warning | |
#SA1120 CommentsMustContainText | |
dotnet_diagnostic.SA1120.severity = warning | |
#SA1124 DoNotUseRegions | |
dotnet_diagnostic.SA1124.severity = warning | |
#SA1200 UsingDirectivesMustBePlacedCorrectly | |
dotnet_diagnostic.SA1200.severity = warning | |
#SA1201 ElementsMustAppearInTheCorrectOrder | |
dotnet_diagnostic.SA1201.severity = warning | |
#SA1202 ElementsMustBeOrderedByAccess | |
dotnet_diagnostic.SA1202.severity = warning | |
#SA1203 ConstantsMustAppearBeforeFields | |
dotnet_diagnostic.SA1202.severity = warning | |
#SA1300 ElementMustBeginWithUpperCaseLetter | |
dotnet_diagnostic.SA1300.severity = error | |
#SA1302 InterfaceNamesMustBeginWithI | |
dotnet_diagnostic.SA1302.severity = error | |
#SA1303 ConstFieldNamesMustBeginWithUpperCaseLetter | |
dotnet_diagnostic.SA1303.severity = error | |
#SA1305 FieldNamesMustNotUseHungarianNotation | |
dotnet_diagnostic.SA1305.severity = warning | |
#SA1308 VariableNamesMustNotBePrefixed | |
dotnet_diagnostic.SA1308.severity = warning | |
#SA1309 A field name in C# begins with an underscore. | |
dotnet_diagnostic.SA1309.severity = warning | |
#SA1312 VariableNamesMustBeginWithLowerCaseLetter | |
dotnet_diagnostic.SA1312.severity = warning | |
#SA1313 ParameterNamesMustBeginWithLowerCaseLetter | |
dotnet_diagnostic.SA1313.severity = error | |
#SA1316 TupleElementNamesShouldUseCorrectCasing | |
dotnet_diagnostic.SA1316.severity = warning | |
#SA1404 A Code Analysis SuppressMessage attribute does not include a justification. | |
dotnet_diagnostic.SA1404.severity = warning | |
#SA1500 BracesForMultiLineStatementsMustNotShareLine | |
dotnet_diagnostic.SA1500.severity = warning | |
#SA1502 ElementMustNotBeOnSingleLine | |
dotnet_diagnostic.SA1502.severity = warning | |
#SA1503 BracesMustNotBeOmitted | |
dotnet_diagnostic.SA1503.severity = warning | |
#SA1513 ClosingBraceMustBeFollowedByBlankLine | |
dotnet_diagnostic.SA1513.severity = warning | |
#SA1520 UseBracesConsistently | |
dotnet_diagnostic.SA1520.severity = warning | |
#SA1636: File header copyright text should match | |
dotnet_diagnostic.SA1636.severity = suggestion | |
#SA1650 ElementDocumentationMustBeSpelledCorrectly | |
dotnet_diagnostic.SA1650.severity = warning | |
#RETURN0001 Do not return null | |
dotnet_diagnostic.RETURN0001.severity = warning | |
#### Async Rules #### | |
#ASYNC0001: Asynchronous method names should end with Async | |
dotnet_diagnostic.ASYNC0001.severity = error | |
#ASYNC0002: Non asynchronous method names should end with Async | |
dotnet_diagnostic.ASYNC0002.severity = error | |
#ASYNC0003: Avoid void returning asynchronous method | |
dotnet_diagnostic.ASYNC0003.severity = warning | |
#ASYNC0004: Use ConfigureAwait(false) on await expression | |
dotnet_diagnostic.ASYNC0004.severity = error | |
#CA1828: Do not use CountAsync/LongCountAsync when AnyAsync can be used | |
dotnet_diagnostic.CA1828.severity=suggestion | |
#MA0045: Do not use blocking call (make method async) | |
dotnet_diagnostic.MA0045.severity = none | |
#RCS1090: Call 'ConfigureAwait(false)'. | |
dotnet_diagnostic.RCS1090.severity = error | |
#RCS1210: Return completed task instead of returning null | |
dotnet_diagnostic.RCS1210.severity = error | |
#AsyncifyInvocation: Use Task Async | |
dotnet_diagnostic.AsyncifyInvocation.severity = error | |
#AsyncifyVariable: Use Task Async | |
dotnet_diagnostic.AsyncifyVariable.severity = error | |
#VSTHRD111: Use ConfigureAwait(bool) | |
dotnet_diagnostic.VSTHRD111.severity = error | |
#VSTHRD114: Avoid returning a null Task | |
dotnet_diagnostic.VSTHRD114.severity = error | |
#VSTHRD200: Use "Async" suffix for async methods | |
dotnet_diagnostic.VSTHRD200.severity = error | |
#RCS1046: Asynchronous method name should end with 'Async'. | |
dotnet_diagnostic.RCS1046.severity = error | |
#VSTHRD200: Use "Async" suffix for async methods | |
dotnet_diagnostic.VSTHRD200.severity = error | |
#RCS1047: Non-asynchronous method name should not end with 'Async'. | |
dotnet_diagnostic.RCS1047.severity = error | |
#### Class Rules #### | |
#CLASS0001: Seal Class | |
dotnet_diagnostic.CLASS0001.severity = warning | |
#### Enum Rules #### | |
#ENUM0001: Default switch label | |
dotnet_diagnostic.ENUM0001.severity = warning | |
#ENUM0002: Merge switch sections | |
dotnet_diagnostic.ENUM0002.severity = warning | |
#ENUM0003: Populate switch | |
dotnet_diagnostic.ENUM0003.severity = warning | |
tab_width = 4 | |
dotnet_style_allow_statement_immediately_after_block_experimental = true:silent | |
dotnet_style_namespace_match_folder = true:suggestion | |
dotnet_style_allow_multiple_blank_lines_experimental = false:silent | |
#### C# Coding Conventions #### | |
[*.cs] | |
#Prefer "var" everywhere (Implicit and explicit types) | |
csharp_style_var_elsewhere = false:suggestion | |
csharp_style_var_for_built_in_types = true:suggestion | |
csharp_style_var_when_type_is_apparent = true:suggestion | |
#Expression-Bodied members | |
csharp_style_expression_bodied_accessors = true:none | |
csharp_style_expression_bodied_constructors = false:silent | |
csharp_style_expression_bodied_indexers = true:none | |
csharp_style_expression_bodied_lambdas = true:silent | |
csharp_style_expression_bodied_local_functions = false:silent | |
csharp_style_expression_bodied_methods = false:silent | |
csharp_style_expression_bodied_operators = false:silent | |
csharp_style_expression_bodied_properties = true:none | |
#Pattern matching preferences | |
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | |
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | |
csharp_style_prefer_not_pattern = true:suggestion | |
csharp_style_prefer_pattern_matching = true:silent | |
csharp_style_prefer_switch_expression = true:suggestion | |
#Null-checking preferences | |
csharp_style_conditional_delegate_call = true:warning | |
#Modifier preferences | |
csharp_prefer_static_local_function = true:suggestion | |
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | |
#Code-block preferences | |
csharp_prefer_braces = true:suggestion | |
csharp_prefer_simple_using_statement = false:silent | |
#Expression-level preferences | |
csharp_prefer_simple_default_expression = true:warning | |
csharp_style_deconstructed_variable_declaration = true:warning | |
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion | |
csharp_style_inlined_variable_declaration = true:suggestion | |
csharp_style_pattern_local_over_anonymous_function = true:warning | |
csharp_style_prefer_index_operator = true:suggestion | |
csharp_style_prefer_range_operator = true:suggestion | |
csharp_style_throw_expression = true:suggestion | |
csharp_style_unused_value_assignment_preference = discard_variable:suggestion | |
csharp_style_unused_value_expression_statement_preference = discard_variable:silent | |
#'using' directive preferences | |
csharp_using_directive_placement = outside_namespace:warning | |
#### C# Formatting Rules #### | |
#New line preferences | |
csharp_new_line_before_catch = true | |
csharp_new_line_before_else = true | |
csharp_new_line_before_finally = true | |
csharp_new_line_before_members_in_anonymous_types = true | |
csharp_new_line_before_members_in_object_initializers = true | |
csharp_new_line_before_open_brace = all | |
csharp_new_line_between_query_expression_clauses = true | |
#Indentation preferences | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents = true | |
csharp_indent_case_contents_when_block = true | |
csharp_indent_labels = one_less_than_current | |
csharp_indent_switch_labels = true | |
#Space preferences | |
csharp_space_after_cast = false | |
csharp_space_after_colon_in_inheritance_clause = true | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_binary_operators = before_and_after | |
csharp_space_around_declaration_statements = false | |
csharp_space_before_colon_in_inheritance_clause = true | |
csharp_space_before_comma = false | |
csharp_space_before_dot = false | |
csharp_space_before_open_square_brackets = false | |
csharp_space_before_semicolon_in_for_statement = false | |
csharp_space_between_empty_square_brackets = false | |
csharp_space_between_method_call_empty_parameter_list_parentheses = false | |
csharp_space_between_method_call_name_and_opening_parenthesis = false | |
csharp_space_between_method_call_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_name_and_open_parenthesis = false | |
csharp_space_between_method_declaration_parameter_list_parentheses = false | |
csharp_space_between_parentheses = false | |
csharp_space_between_square_brackets = false | |
#Wrapping preferences | |
csharp_preserve_single_line_blocks = true | |
csharp_preserve_single_line_statements = true | |
#New line preferences | |
csharp_new_line_before_catch = true | |
csharp_new_line_before_else = true | |
csharp_new_line_before_finally = true | |
csharp_new_line_before_members_in_anonymous_types = true | |
csharp_new_line_before_members_in_object_initializers = true | |
csharp_new_line_before_open_brace = all | |
csharp_new_line_between_query_expression_clauses = true | |
#Indentation preferences | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents = true | |
csharp_indent_case_contents_when_block = true | |
csharp_indent_labels = one_less_than_current | |
csharp_indent_switch_labels = true | |
#Space preferences | |
csharp_space_after_cast = false | |
csharp_space_after_colon_in_inheritance_clause = true | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_keywords_in_control_flow_statements = true | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_binary_operators = before_and_after | |
csharp_space_around_declaration_statements = false | |
csharp_space_before_colon_in_inheritance_clause = true | |
csharp_space_before_comma = false | |
csharp_space_before_dot = false | |
csharp_space_before_open_square_brackets = false | |
csharp_space_before_semicolon_in_for_statement = false | |
csharp_space_between_empty_square_brackets = false | |
csharp_space_between_method_call_empty_parameter_list_parentheses = false | |
csharp_space_between_method_call_name_and_opening_parenthesis = false | |
csharp_space_between_method_call_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | |
csharp_space_between_method_declaration_name_and_open_parenthesis = false | |
csharp_space_between_method_declaration_parameter_list_parentheses = false | |
csharp_space_between_parentheses = expressions | |
csharp_space_between_square_brackets = false | |
#Wrapping preferences | |
csharp_preserve_single_line_blocks = true | |
csharp_preserve_single_line_statements = true | |
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent | |
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent | |
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent | |
csharp_style_namespace_declarations = file_scoped:silent | |
csharp_style_prefer_extended_property_pattern = true:suggestion | |
csharp_style_prefer_local_over_anonymous_function = true:suggestion | |
csharp_style_prefer_null_check_over_type_check = true:suggestion | |
csharp_style_prefer_tuple_swap = true:suggestion | |
csharp_style_prefer_method_group_conversion = true:silent | |
csharp_style_prefer_parameter_null_checking = true:suggestion | |
csharp_style_prefer_top_level_statements = true:silent | |
#[src/{VisualStudio}/**/*.{cs,vb}] | |
# CA1822: Make member static | |
# There is a risk of accidentally breaking an internal API that partners rely on though IVT. | |
dotnet_code_quality.CA1822.api_surface = private | |
[*.g.cs] | |
dotnet_diagnostic.CS1591.severity = none |
Looks good! But why mandatory brackets on if/else?
Collections should implement generic interface
That has been fixed!
Looks good! But why mandatory brackets on if/else?
YES! If not, a more jr dev can add a line under it thinking it is part of the if
when it's not.
Please provide the list of required NuGet packages as well.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
nice work 👍
found a typo in line 1480 (https://gist.github.com/RealDotNetDave/dbae4d97358ba4515dd52e5b8ca87671#file-editorconfig-L1480)
should be