Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add a simple editorconfig to the project #1478

Open
shiftkey opened this issue May 6, 2019 · 4 comments · May be fixed by #1482
Open

add a simple editorconfig to the project #1478

shiftkey opened this issue May 6, 2019 · 4 comments · May be fixed by #1482
Labels
help wanted Issues and features that are open to external contribution infrastructure Pull requests related dependencies, tooling or testing that the project needs

Comments

@shiftkey
Copy link
Contributor

shiftkey commented May 6, 2019

No description provided.

@shiftkey shiftkey added help wanted Issues and features that are open to external contribution infrastructure Pull requests related dependencies, tooling or testing that the project needs labels May 6, 2019
@gojanpaolo
Copy link
Contributor

I would like to take a stab at this probably later tonight. I guess this should be manually created to be "simple" and not generated by any tool (i.e. IntelliCode)?

@shiftkey
Copy link
Contributor Author

shiftkey commented May 6, 2019

@gojanpaolo yes, a simple set of rules to start off with is easier for us to review and discuss

@Thieum
Copy link
Contributor

Thieum commented May 6, 2019

Here is what Intellicode infers as a reference:

[*.cs]

#Core editorconfig formatting - indentation

#use soft tabs (spaces) for indentation
indent_style = space

#Formatting - indentation options

#indent switch case contents.
csharp_indent_case_contents = true
#indent switch labels
csharp_indent_switch_labels = true

#Formatting - new line options

#place catch statements on a new line
csharp_new_line_before_catch = true
#place else statements on a new line
csharp_new_line_before_else = true
#require finally statements to be on a new line after the closing brace
csharp_new_line_before_finally = true
#require braces to be on a new line for methods, properties, object_collection_array_initializers, types, control_blocks, and lambdas (also known as "Allman" style)
csharp_new_line_before_open_brace = methods, properties, object_collection_array_initializers, types, control_blocks, lambdas

#Formatting - organize using options

#sort System.* using directives alphabetically, and place them before other usings
dotnet_sort_system_directives_first = true

#Formatting - spacing options

#require NO space between a cast and the value
csharp_space_after_cast = false
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_after_colon_in_inheritance_clause = true
#require a space after a keyword in a control flow statement such as a for loop
csharp_space_after_keywords_in_control_flow_statements = true
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_before_colon_in_inheritance_clause = true
#remove space within empty argument list parentheses
csharp_space_between_method_call_empty_parameter_list_parentheses = false
#remove space between method call name and opening parenthesis
csharp_space_between_method_call_name_and_opening_parenthesis = false
#do not place space characters after the opening parenthesis and before the closing parenthesis of a method call
csharp_space_between_method_call_parameter_list_parentheses = false
#remove space within empty parameter list parentheses for a method declaration
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
#place a space character after the opening parenthesis and before the closing parenthesis of a method declaration parameter list.
csharp_space_between_method_declaration_parameter_list_parentheses = false

#Formatting - wrapping options

#leave code block on single line
csharp_preserve_single_line_blocks = true

#Style - expression bodied member options

#prefer block bodies for accessors
csharp_style_expression_bodied_accessors = false:suggestion
#prefer block bodies for constructors
csharp_style_expression_bodied_constructors = false:suggestion
#prefer block bodies for methods
csharp_style_expression_bodied_methods = false:suggestion
#prefer block bodies for properties
csharp_style_expression_bodied_properties = false:suggestion

#Style - expression level options

#prefer out variables to be declared before the method call
csharp_style_inlined_variable_declaration = false:suggestion
#prefer the type name for member access expressions, instead of the language keyword
dotnet_style_predefined_type_for_member_access = false:suggestion

#Style - implicit and explicit types

#prefer var is used to declare variables with built-in system types such as int
csharp_style_var_for_built_in_types = true:suggestion
#prefer var when the type is already mentioned on the right-hand side of a declaration expression
csharp_style_var_when_type_is_apparent = true:suggestion

#Style - language keyword and framework type options

#prefer the language keyword for local variables, method parameters, and class members, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion

#Style - qualification options

#prefer events not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_event = false:suggestion
#prefer fields not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_field = false:suggestion
#prefer methods not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_method = false:suggestion
#prefer properties not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_property = false:suggestion

The only issue I have with Intellicode, is that it cannot infers the proper value of csharp_new_line_before_open_brace especially when it's supposed to be all

@amaitland
Copy link

Sections for cpp and other file formats should also be included https://github.com/dotnet/corefx/blob/master/.editorconfig#L136

@gojanpaolo gojanpaolo linked a pull request May 7, 2019 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Issues and features that are open to external contribution infrastructure Pull requests related dependencies, tooling or testing that the project needs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants