« Code analysis » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 77 : | Ligne 77 : | ||
</filebox> | </filebox> | ||
== Custom rules == | == Custom naming convention rules == | ||
<filebox fn='.editorconfig' lang='ini'> | <filebox fn='.editorconfig' lang='ini'> | ||
# Style Definitions | |||
dotnet_naming_style.upper_case_style.capitalization = all_upper | |||
dotnet_naming_style.camel_case_style.capitalization = camel_case | |||
# Use UPPER_CASE for constant fields | # Use UPPER_CASE for constant fields | ||
dotnet_naming_symbols.constant_fields.applicable_kinds = field | dotnet_naming_symbols.constant_fields.applicable_kinds = field | ||
dotnet_naming_symbols.constant_fields.required_modifiers = const | dotnet_naming_symbols.constant_fields.required_modifiers = const | ||
Ligne 87 : | Ligne 89 : | ||
dotnet_naming_rule.constant_fields_should_be_upper_case.style = upper_case_style | dotnet_naming_rule.constant_fields_should_be_upper_case.style = upper_case_style | ||
dotnet_naming_rule.constant_fields_should_be_upper_case.severity = warning | dotnet_naming_rule.constant_fields_should_be_upper_case.severity = warning | ||
# Use camelCase for variables | |||
dotnet_naming_symbols.local_symbol.applicable_kinds = local | |||
dotnet_naming_rule.variables_should_be_camel_case.symbols = local_symbol | |||
dotnet_naming_rule.variables_should_be_camel_case.style = camel_case_style | |||
dotnet_naming_rule.variables_should_be_camel_case.severity = warning | |||
# Use camelCase for parameters | |||
dotnet_naming_symbols.parameter_symbol.applicable_kinds = parameter | |||
dotnet_naming_rule.parameters_should_be_camel_case.symbols = parameter_symbol | |||
dotnet_naming_rule.parameters_should_be_camel_case.style = camel_case_style | |||
dotnet_naming_rule.parameters_should_be_camel_case.severity = warning | |||
# Use camelCase for instance fields | |||
dotnet_naming_symbols.instance_fields.applicable_kinds = field | |||
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | |||
dotnet_naming_rule.instance_fields_should_be_camel_case.style = camel_case_style | |||
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning | |||
</filebox> | </filebox> | ||
Version du 24 avril 2024 à 11:58
Links
Enable additional rules
Those rules are enabled by default.
Edit the project file to enable additional rules:
MyProject.csproj |
<PropertyGroup> <!-- ... --> <AnalysisLevel>latest-recommended</AnalysisLevel> </PropertyGroup> |
Editorconfig
Core options
.editorconfig |
root = true # All files [*] indent_style = space insert_final_newline = true charset = utf-8 # XML project files [*.csproj] indent_size = 2 # JSON config files [*.json] indent_size = 2 # C# code files [*.cs] indent_size = 4 trim_trailing_whitespace = true # set the rules severity to warning dotnet_analyzer_diagnostic.severity = warning |
Analyzer configuration
.editorconfig |
# set the rules severity to warning dotnet_analyzer_diagnostic.severity = warning |
Miscellaneous configuration
.editorconfig |
# Sort using and Import directives with System.* appearing first dotnet_sort_system_directives_first = true |
Style configuration
.editorconfig |
# IDE0160 / IDE0161: Namespace declaration preferences csharp_style_namespace_declarations = file_scoped : error # IDE0007 / IDE0008: 'var' preferences csharp_style_var_for_built_in_types = true csharp_style_var_when_type_is_apparent = true csharp_style_var_elsewhere = false : suggestion |
Disable rules
.editorconfig |
# lower speller rule severity to suggestion dotnet_diagnostic.VSSpell001.severity = suggestion dotnet_diagnostic.VSSpell002.severity = suggestion # Specify CultureInfo dotnet_diagnostic.CA1304.severity = suggestion # Specify a culture dotnet_diagnostic.CA1311.severity = suggestion |
Custom naming convention rules
.editorconfig |
# Style Definitions dotnet_naming_style.upper_case_style.capitalization = all_upper dotnet_naming_style.camel_case_style.capitalization = camel_case # Use UPPER_CASE for constant fields dotnet_naming_symbols.constant_fields.applicable_kinds = field dotnet_naming_symbols.constant_fields.required_modifiers = const dotnet_naming_rule.constant_fields_should_be_upper_case.symbols = constant_fields dotnet_naming_rule.constant_fields_should_be_upper_case.style = upper_case_style dotnet_naming_rule.constant_fields_should_be_upper_case.severity = warning # Use camelCase for variables dotnet_naming_symbols.local_symbol.applicable_kinds = local dotnet_naming_rule.variables_should_be_camel_case.symbols = local_symbol dotnet_naming_rule.variables_should_be_camel_case.style = camel_case_style dotnet_naming_rule.variables_should_be_camel_case.severity = warning # Use camelCase for parameters dotnet_naming_symbols.parameter_symbol.applicable_kinds = parameter dotnet_naming_rule.parameters_should_be_camel_case.symbols = parameter_symbol dotnet_naming_rule.parameters_should_be_camel_case.style = camel_case_style dotnet_naming_rule.parameters_should_be_camel_case.severity = warning # Use camelCase for instance fields dotnet_naming_symbols.instance_fields.applicable_kinds = field dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields dotnet_naming_rule.instance_fields_should_be_camel_case.style = camel_case_style dotnet_naming_rule.instance_fields_should_be_camel_case.severity = warning |
Sonar Lint
.editorconfig |
# S1135: Track uses of "TODO" tags dotnet_diagnostic.S1135.severity = none |
Installation
- Installation the extension for Visual Studio or VS Code
Visual Studio
Change Code Style rules and generate a .editorconfig file
Tools → Options → Text Editor → C# → Code Style → General
Set the scope of live code analysis
- Tools → Options
- Text Editor → C# → Advanced
- Run background code analysis for: Current document
- Show compiler errors and warnings for: Open documents