# see http://editorconfig.org/ for docs on this file root = true [*] # help with sharing files across os's (i.e. network share or through local vm) end_of_line = crlf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true # formattable file extensions (keep in sync with format.ini from unity-meta repo) # # Note: We need to split the formattable files configs into shorter duplicate entries (logically grouped) # due to known issue in VS editorconfig extension where there is a limit of 51 characters (empirically determined). # see: https://github.com/editorconfig/editorconfig-visualstudio/issues/21 # ## uncrustify [*.{c,h,cpp,hpp,m,mm,cc,cs}] indent_style = space indent_size = 4 ## generic formatter (shaders) [*.{cg,cginc,glslinc,hlsl,shader,y,ypp,yy}] indent_style = space indent_size = 4 ## generic formatter (misc) [*.{asm,s,S,pch,pchmm,java,sh,uss}] indent_style = space indent_size = 4 ## perltidy [*.{pl,pm,t,it}] indent_style = space indent_size = 4 ## unity special [*.{bindings,mem.xml}] indent_style = space indent_size = 4 # other filetypes we want to overwrite default configuration to preserve the standard [{Makefile,makefile}] # TAB characters are part of the Makefile format indent_style = tab [*.{md,markdown}] # trailing whitespace is significant in markdown (bad choice, bad!) trim_trailing_whitespace = false [*.{json,asmdef}] indent_style = space # seems to be more common indent_size = 2 # keep these and the VS stuff below in sync with .hgeol's CRLF extensions [*.{vcproj,bat,cmd,xaml,tt,t4,ttinclude}] end_of_line = crlf # this VS-specific stuff is based on experiments to see how VS will modify a file after it has been manually edited. # the settings are meant to closely match what VS does to minimize unnecessary diffs. this duplicates some settings in * # but let's be explicit here to be safe (in case someone wants to copy-paste this out to another .editorconfig). [*.{vcxproj,vcxproj.filters,csproj,props,targets}] indent_style = space indent_size = 2 end_of_line = crlf charset = utf-8-bom trim_trailing_whitespace = true insert_final_newline = false [*.{sln,sln.template}] indent_style = tab indent_size = 4 end_of_line = crlf trim_trailing_whitespace = true insert_final_newline = false # https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/formatting-rules [*.cs] csharp_new_line_before_open_brace = all csharp_new_line_before_else = true csharp_new_line_before_catch = true csharp_new_line_before_finally = true 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 options csharp_indent_case_contents = true csharp_indent_switch_labels = true csharp_indent_labels = one_less_than_current csharp_indent_block_contents = true csharp_indent_braces = false csharp_indent_case_contents_when_block = false # spacing csharp_space_after_cast = false csharp_space_after_keywords_in_control_flow_statements = true #csharp_space_between_parentheses = control_flow_statements, type_casts, expressions csharp_space_before_colon_in_inheritance_clause = true csharp_space_after_colon_in_inheritance_clause = true csharp_space_around_binary_operators = before_and_after csharp_space_between_method_declaration_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_call_parameter_list_parentheses = false csharp_space_between_method_call_empty_parameter_list_parentheses = false csharp_space_between_method_call_name_and_opening_parenthesis = false csharp_space_after_comma = true csharp_space_before_comma = false csharp_space_after_dot = false csharp_space_before_dot = false csharp_space_after_semicolon_in_for_statement = true csharp_space_before_semicolon_in_for_statement = false csharp_space_around_declaration_statements = false csharp_space_before_open_square_brackets = false csharp_space_between_empty_square_brackets = false csharp_space_between_square_brackets = false # wrap options csharp_preserve_single_line_statements = true csharp_preserve_single_line_blocks = true # using directives #csharp_using_directive_placement = outside_namespace # dotnet options #dotnet_sort_system_directives_first = true #dotnet_separate_import_directive_groups = false