Last active
December 11, 2019 02:14
-
-
Save DanielMPries/bff5b9efc1b46fbee7495a44f44c4aca to your computer and use it in GitHub Desktop.
dotnet-format tool and task
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
root = true; | |
[*] | |
indent_style = space | |
trim_trailing_whitespace = true | |
end_of_line = lf | |
# Code files | |
[*.{cs,csx,vb,vbx}] | |
indent_size = 4 | |
insert_final_newline = true | |
charset = utf-8 | |
# 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 | |
# Shell script files | |
[*.sh] | |
end_of_line = lf | |
indent_size = 2 | |
# C# files | |
[*.cs] | |
# New line preferences | |
csharp_new_line_before_open_brace = false:warning | |
csharp_new_line_before_else = false:warning | |
csharp_new_line_before_catch = false:warning | |
csharp_new_line_before_finally = false: warning | |
csharp_new_line_before_members_in_object_initializers = true | |
csharp_new_line_before_members_in_anonymous_types = true | |
csharp_new_line_between_query_expression_clauses = true | |
# Indentation preferences | |
csharp_prefer_braces = true:error | |
csharp_indent_block_contents = true | |
csharp_indent_braces = false | |
csharp_indent_case_contents = true | |
csharp_indent_switch_labels = true | |
csharp_indent_labels = one_less_than_current | |
# avoid this. unless absolutely necessary | |
dotnet_style_qualification_for_field = false:warning | |
dotnet_style_qualification_for_property = false:warning | |
dotnet_style_qualification_for_method = false:warning | |
dotnet_style_qualification_for_event = false:warning | |
# only use var when it's obvious what the variable type is | |
csharp_style_var_for_built_in_types = true:warning | |
csharp_style_var_when_type_is_apparent = true:warning | |
csharp_style_var_elsewhere = false:suggestion | |
# use language keywords instead of BCL types | |
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | |
dotnet_style_predefined_type_for_member_access = true:suggestion | |
# name all constant fields using PascalCase | |
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion | |
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_symbols.constant_fields.applicable_kinds = field | |
dotnet_naming_symbols.constant_fields.required_modifiers = const | |
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | |
# static fields should have s_ prefix | |
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion | |
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields | |
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style | |
dotnet_naming_symbols.static_fields.applicable_kinds = field | |
dotnet_naming_symbols.static_fields.required_modifiers = static | |
dotnet_naming_style.static_prefix_style.required_prefix = _ | |
dotnet_naming_style.static_prefix_style.capitalization = camel_case | |
# internal and private fields should be _camelCase | |
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion | |
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields | |
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style | |
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field | |
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal | |
dotnet_naming_style.camel_case_underscore_style.required_prefix = _ | |
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case | |
# Code style defaults | |
dotnet_sort_system_directives_first = true | |
csharp_preserve_single_line_blocks = true | |
csharp_preserve_single_line_statements = false | |
# Expression-level preferences | |
dotnet_style_object_initializer = true:suggestion | |
dotnet_style_collection_initializer = true:suggestion | |
dotnet_style_explicit_tuple_names = true:suggestion | |
dotnet_style_coalesce_expression = true:suggestion | |
dotnet_style_null_propagation = true:suggestion | |
# Expression-bodied members | |
csharp_style_expression_bodied_methods = false:none | |
csharp_style_expression_bodied_constructors = false:none | |
csharp_style_expression_bodied_operators = false:none | |
csharp_style_expression_bodied_properties = true:none | |
csharp_style_expression_bodied_indexers = true:none | |
csharp_style_expression_bodied_accessors = true:none | |
# Pattern matching | |
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 | |
# Null checking preferences | |
csharp_style_throw_expression = true:suggestion | |
csharp_style_conditional_delegate_call = true:suggestion | |
# Space preferences | |
csharp_space_after_cast = true:warning | |
csharp_space_after_colon_in_inheritance_clause = true:warning | |
csharp_space_after_comma = true | |
csharp_space_after_dot = false | |
csharp_space_after_keywords_in_control_flow_statements = false:warning | |
csharp_space_after_semicolon_in_for_statement = true | |
csharp_space_around_binary_operators = before_and_after | |
csharp_space_around_declaration_statements = do_not_ignore | |
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 |
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
dotnet tool install dotnet-format -g |
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
{ | |
"version": "2.0.0", | |
"tasks": [ | |
{ | |
"label": "Format", | |
"command": "dotnet-format", | |
"type": "process", | |
"group": { | |
"kind": "build", | |
"isDefault": true | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment