JetBrains Rider 2018.2 Help

Protobuf - Formatting Style

Tabs and Indents

Indent style

Property names:

protobuf_indent_style, indent_style

Possible values:

  • tab: Tab

  • space: Spaces

Examples:

tab

option·a·=·{a·{ →→x:·1}b·{ →→y:·2} }

space

option·a·=·{ ····a·{ ········x:·1 ····} ····b·{ ········y:·2 ····} }

Indent size

Property names:

protobuf_indent_size, indent_size

Possible values:

an integer

Examples:

value: 0

option·a·=·{ ·a·{ ··x:·1 ·} ·b·{ ··y:·2 ·} }

value: 1

option·a·=·{ ·a·{ ··x:·1 ·} ·b·{ ··y:·2 ·} }

value: 2

option·a·=·{ ··a·{ ····x:·1 ··} ··b·{ ····y:·2 ··} }

Tab width

Property names:

protobuf_tab_width, tab_width

Possible values:

an integer

Examples:

value: 0

option·a·=·{a·{ →→x:·1}b·{ →→y:·2} }

value: 1

option·a·=·{a·{ →→x:·1}b·{ →→y:·2} }

value: 2

option·a·=·{a·{ →→x:·1}b·{ →→y:·2} }

How to align when tabs are used for indents

Property names:

[resharper_]protobuf_alignment_tab_fill_style, [resharper_]alignment_tab_fill_style

Possible values:

  • use_spaces: Use spaces (looks aligned on any tab size)

  • use_tabs_only: Only use tabs (inaccurate)

  • optimal_fill: Mix tabs and spaces for optimal fill

Spaces

After comma in options

Property names:

[resharper_]protobuf_space_comma, [resharper_]space_comma

Possible values:

true | false

Examples:

true

message·a·{optional·int32·a·=·1·[default·=·1,·deprecated·=·true]; }

false

message·a·{optional·int32·a·=·1·[default·=·1,deprecated·=·true]; }

Around = in fields and options

Property names:

[resharper_]protobuf_space_equals, [resharper_]space_equals

Possible values:

true | false

Examples:

true

message·a·{optional·int32·a·=·1·[default·=·1,·deprecated·=·true]; }

false

message·a·{optional·int32·a=1·[default=1,·deprecated=true]; }

Before : in aggregate options

Property names:

[resharper_]protobuf_space_colon_before, [resharper_]space_colon_before

Possible values:

true | false

Examples:

true

option·a·=·{x·:·y,c·:·e };

false

option·a·=·{x:·y,c:·e };

After : in aggregate options

Property names:

[resharper_]protobuf_space_colon_after, [resharper_]space_colon_after

Possible values:

true | false

Examples:

true

option·a·=·{x:·y,c:·e };

false

option·a·=·{x:y,c:e };

Indenting Options

Curly braces not in options

Property names:

[resharper_]protobuf_not_options_braces, [resharper_]protobuf_brace_style, [resharper_]not_options_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line

message·a·{optional·int32·a·=·1;messageb·{ →→optional·int32·c·=·1;} }

end_of_line_no_space

message·a{optional·int32·a·=·1;messageb{ →→optional·int32·c·=·1;} }

next_line

message·a {optional·int32·a·=·1;messageb{ →→optional·int32·c·=·1;} }

next_line_shifted

message·a{optional·int32·a·=·1;messageb →→{ →→optional·int32·c·=·1; →→}}

next_line_shifted_2

message·a{ →→optional·int32·a·=·1; →→message →→b →→→{ →→→→optional·int32·c·=·1; →→→}}

Curly/pointy braces in aggregate values in options

Property names:

[resharper_]protobuf_options_braces, [resharper_]protobuf_brace_style, [resharper_]options_braces, [resharper_]brace_style

Possible values:

  • end_of_line: At end of line (K&R style)

  • end_of_line_no_space: At end of line (no space)

  • next_line: At next line (BSD style)

  • next_line_shifted: At next line indented (Whitesmiths style)

  • next_line_shifted_2: At next line indented 2 (GNU style)

Examples:

end_of_line

option·a·=·{a·{ →→x:·1}b·{ →→y:·2} }

end_of_line_no_space

option·a·={a{ →→x:·1}b{ →→y:·2} }

next_line

option·a·= {a{ →→x:·1}b{ →→y:·2} }

next_line_shifted

option·a·={a →→{ →→x:·1 →→}b →→{ →→y:·2 →→}}

next_line_shifted_2

option·a·={ →→a →→→{ →→→→x:·1 →→→} →→b →→→{ →→→→y:·2 →→→}}

Empty block style

Property names:

[resharper_]protobuf_empty_block_style, [resharper_]empty_block_style

Possible values:

  • multiline: On different lines

  • together: Place braces together

  • together_same_line: Together on the same line

Examples:

multiline

message·a·{ }

together

message·a·{}

together_same_line

message·a·{}

Wrapping and Chopping

Hard wrap at

Property names:

protobuf_max_line_length, max_line_length

Possible values:

an integer

Other

Use pointy braces in aggregate options

Property names:

[resharper_]protobuf_options_braces_pointy, [resharper_]options_braces_pointy

Possible values:

true | false

Examples:

true

option·a·=·{value1·<>value2·<> };

false

option·a·=·{value1·{}value2·{} };

Last modified: 19 October 2018