Skip to content
This repository was archived by the owner on Nov 1, 2020. It is now read-only.

Commit fce9c34

Browse files
MichalStrehovskyjkotas
authored andcommittedMar 17, 2017
Add .editorconfig (#3001)
This was taken from the CoreFX repo verbatim, since we use the same coding style. We can tweak it as appropriate (I'm thinking about upgrading some suggestions to warnings, for example). I already see some issues with it (e.g. insisting that we prefix statics with `s_`, even for threadstatics - where we use `t_`).
1 parent d0c433a commit fce9c34

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed
 

‎.editorconfig

+160
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# editorconfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Default settings:
7+
# A newline ending every file
8+
# Use 4 spaces as indentation
9+
[*]
10+
insert_final_newline = true
11+
indent_style = space
12+
indent_size = 4
13+
14+
[project.json]
15+
indent_size = 2
16+
17+
# C# files
18+
[*.cs]
19+
# New line preferences
20+
csharp_new_line_before_open_brace = all
21+
csharp_new_line_before_else = true
22+
csharp_new_line_before_catch = true
23+
csharp_new_line_before_finally = true
24+
csharp_new_line_before_members_in_object_initializers = true
25+
csharp_new_line_before_members_in_anonymous_types = true
26+
csharp_new_line_within_query_expression_clauses = true
27+
28+
# Indentation preferences
29+
csharp_indent_block_contents = true
30+
csharp_indent_braces = false
31+
csharp_indent_case_contents = true
32+
csharp_indent_switch_labels = true
33+
csharp_indent_labels = flush_left
34+
35+
# avoid this. unless absolutely necessary
36+
dotnet_style_qualification_for_field = false:suggestion
37+
dotnet_style_qualification_for_property = false:suggestion
38+
dotnet_style_qualification_for_method = false:suggestion
39+
dotnet_style_qualification_for_event = false:suggestion
40+
41+
# only use var when it's obvious what the variable type is
42+
csharp_style_var_for_built_in_types = false:none
43+
csharp_style_var_when_type_is_apparent = false:none
44+
csharp_style_var_elsewhere = false:suggestion
45+
46+
# use language keywords instead of BCL types
47+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
48+
dotnet_style_predefined_type_for_member_access = true:suggestion
49+
50+
# name all constant fields using PascalCase
51+
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
52+
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
53+
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
54+
55+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
56+
dotnet_naming_symbols.constant_fields.required_modifiers = const
57+
58+
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
59+
60+
# static fields should have s_ prefix
61+
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
62+
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
63+
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
64+
65+
dotnet_naming_symbols.static_fields.applicable_kinds = field
66+
dotnet_naming_symbols.static_fields.required_modifiers = static
67+
68+
dotnet_naming_style.static_prefix_style.required_prefix = s_
69+
dotnet_naming_style.static_prefix_style.capitalization = camel_case
70+
71+
# internal and private fields should be _camelCase
72+
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
73+
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
74+
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
75+
76+
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
77+
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
78+
79+
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
80+
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
81+
82+
# Code style defaults
83+
dotnet_sort_system_directives_first = true
84+
csharp_preserve_single_line_blocks = true
85+
csharp_preserve_single_line_statements = false
86+
87+
# Expression-level preferences
88+
dotnet_style_object_initializer = true:suggestion
89+
dotnet_style_collection_initializer = true:suggestion
90+
dotnet_style_explicit_tuple_names = true:suggestion
91+
dotnet_style_coalesce_expression = true:suggestion
92+
dotnet_style_null_propagation = true:suggestion
93+
94+
# Expression-bodied members
95+
csharp_style_expression_bodied_methods = false:none
96+
csharp_style_expression_bodied_constructors = false:none
97+
csharp_style_expression_bodied_operators = false:none
98+
csharp_style_expression_bodied_properties = true:none
99+
csharp_style_expression_bodied_indexers = true:none
100+
csharp_style_expression_bodied_accessors = true:none
101+
102+
# Pattern matching
103+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
104+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
105+
csharp_style_inlined_variable_declaration = true:suggestion
106+
107+
# Null checking preferences
108+
csharp_style_throw_expression = true:suggestion
109+
csharp_style_conditional_delegate_call = true:suggestion
110+
111+
# Space preferences
112+
csharp_space_after_cast = false
113+
csharp_space_after_colon_in_inheritance_clause = true
114+
csharp_space_after_comma = true
115+
csharp_space_after_dot = false
116+
csharp_space_after_keywords_in_control_flow_statements = true
117+
csharp_space_after_semicolon_in_for_statement = true
118+
csharp_space_around_binary_operators = before_and_after
119+
csharp_space_around_declaration_statements = do_not_ignore
120+
csharp_space_before_colon_in_inheritance_clause = true
121+
csharp_space_before_comma = false
122+
csharp_space_before_dot = false
123+
csharp_space_before_open_square_brackets = false
124+
csharp_space_before_semicolon_in_for_statement = false
125+
csharp_space_between_empty_square_brackets = false
126+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
127+
csharp_space_between_method_call_name_and_opening_parenthesis = false
128+
csharp_space_between_method_call_parameter_list_parentheses = false
129+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
130+
csharp_space_between_method_declaration_name_and_open_parenthesis = false
131+
csharp_space_between_method_declaration_parameter_list_parentheses = false
132+
csharp_space_between_parentheses = false
133+
csharp_space_between_square_brackets = false
134+
135+
# C++ Files
136+
[*.{cpp,h,in}]
137+
curly_bracket_next_line = true
138+
indent_brace_style = Allman
139+
140+
# Xml project files
141+
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
142+
indent_size = 2
143+
144+
# Xml build files
145+
[*.builds]
146+
indent_size = 2
147+
148+
# Xml files
149+
[*.{xml,stylecop,resx,ruleset}]
150+
indent_size = 2
151+
152+
# Xml config files
153+
[*.{props,targets,config,nuspec}]
154+
indent_size = 2
155+
156+
# Shell scripts
157+
[*.sh]
158+
end_of_line = lf
159+
[*.{cmd, bat}]
160+
end_of_line = crlf

0 commit comments

Comments
 (0)
This repository has been archived.