JetBrains Rider 2020.2 Help

C# - Blank Lines

General

Around region

Property names:

[resharper_]csharp_blank_lines_around_region, [resharper_]blank_lines_around_region

Possible values:

an integer

Examples:

value: 0
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }
value: 1
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }
value: 2
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }

Inside region

Property names:

[resharper_]csharp_blank_lines_inside_region, [resharper_]blank_lines_inside_region

Possible values:

an integer

Examples:

value: 0
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }
value: 1
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }
value: 2
abstract class C { protected abstract void Method1(); #region Region Description protected abstract void Method2(); #endregion protected abstract void Method3(); }

Before single-line comment

Property names:

[resharper_]csharp_blank_lines_before_single_line_comment, [resharper_]blank_lines_before_single_line_comment

Possible values:

an integer

Examples:

value: 0
void Foo() { var x = 5; // comment Call(); ////CommentedCall(); }
value: 1
void Foo() { var x = 5; // comment Call(); ////CommentedCall(); }
value: 2
void Foo() { var x = 5; // comment Call(); ////CommentedCall(); }

Blank Lines in Declarations

Keep max blank lines in declarations

Property names:

[resharper_]csharp_keep_blank_lines_in_declarations, [resharper_]keep_blank_lines_in_declarations

Possible values:

an integer

Examples:

Before formattingAfter formatting, value: 0
class C { void Method1() {} void Method1() {} }
class C { void Method1() { } void Method1() { } }
Before formattingAfter formatting, value: 1
class C { void Method1() {} void Method1() {} }
class C { void Method1() { } void Method1() { } }
Before formattingAfter formatting, value: 2
class C { void Method1() {} void Method1() {} }
class C { void Method1() { } void Method1() { } }

Remove blank lines after "{" and before "}" in declarations

Property names:

[resharper_]csharp_remove_blank_lines_near_braces_in_declarations, [resharper_]remove_blank_lines_near_braces_in_declarations

Possible values:

true | false

Examples:

Before formattingAfter formatting, true
class C { void Method1() {} void Method1() {} }
class C { void Method1() { } void Method1() { } }
Before formattingAfter formatting, false
class C { void Method1() {} void Method1() {} }
class C { void Method1() { } void Method1() { } }

After file header comment

Property names:

[resharper_]csharp_blank_lines_after_start_comment, [resharper_]blank_lines_after_start_comment

Possible values:

an integer

Examples:

value: 0
// Header text class A { }
value: 1
// Header text class A { }
value: 2
// Header text class A { }

Between different "using" groups

Property names:

[resharper_]csharp_blank_lines_between_using_groups, [resharper_]blank_lines_between_using_groups

Possible values:

an integer

Examples:

value: 0
using System; using System.Collections; using myNamespace;
value: 1
using System; using System.Collections; using myNamespace;
value: 2
using System; using System.Collections; using myNamespace;

After "using" list

Property names:

[resharper_]csharp_blank_lines_after_using_list, [resharper_]blank_lines_after_using_list

Possible values:

an integer

Examples:

value: 0
using System; namespace N { }
value: 1
using System; namespace N { }
value: 2
using System; namespace N { }

Around namespace

Property names:

[resharper_]csharp_blank_lines_around_namespace, [resharper_]blank_lines_around_namespace

Possible values:

an integer

Examples:

value: 0
namespace N1 { } namespace N2 { }
value: 1
namespace N1 { } namespace N2 { }
value: 2
namespace N1 { } namespace N2 { }

Inside namespace

Property names:

[resharper_]csharp_blank_lines_inside_namespace, [resharper_]blank_lines_inside_namespace

Possible values:

an integer

Examples:

value: 0
namespace N1 { class C1 { } class C2 { } }
value: 1
namespace N1 { class C1 { } class C2 { } }
value: 2
namespace N1 { class C1 { } class C2 { } }

Around type

Property names:

[resharper_]csharp_blank_lines_around_type, [resharper_]blank_lines_around_type

Possible values:

an integer

Examples:

value: 0
class C1 { } class C2 { }
value: 1
class C1 { } class C2 { }
value: 2
class C1 { } class C2 { }

Inside type

Property names:

[resharper_]csharp_blank_lines_inside_type, [resharper_]blank_lines_inside_type

Possible values:

an integer

Examples:

value: 0
class C { int x; int y; }
value: 1
class C { int x; int y; }
value: 2
class C { int x; int y; }

Around field

Property names:

[resharper_]csharp_blank_lines_around_field, [resharper_]blank_lines_around_field

Possible values:

an integer

Examples:

value: 0
class C { /// <summary>x description</summary> int x; /// <summary>y description</summary> int y; }
value: 1
class C { /// <summary>x description</summary> int x; /// <summary>y description</summary> int y; }
value: 2
class C { /// <summary>x description</summary> int x; /// <summary>y description</summary> int y; }

Around single line field

Property names:

[resharper_]csharp_blank_lines_around_single_line_field, [resharper_]blank_lines_around_single_line_field

Possible values:

an integer

Examples:

value: 0
class C { int x; int y; }
value: 1
class C { int x; int y; }
value: 2
class C { int x; int y; }

Around property/event

Property names:

[resharper_]csharp_blank_lines_around_property, [resharper_]blank_lines_around_property

Possible values:

an integer

Examples:

value: 0
class C { /// <summary>x description</summary> public int X { get { return 1; } } /// <summary>y description</summary> public int Y { get { return 2; } } }
value: 1
class C { /// <summary>x description</summary> public int X { get { return 1; } } /// <summary>y description</summary> public int Y { get { return 2; } } }
value: 2
class C { /// <summary>x description</summary> public int X { get { return 1; } } /// <summary>y description</summary> public int Y { get { return 2; } } }

Around single line property/event

Property names:

[resharper_]csharp_blank_lines_around_single_line_property, [resharper_]blank_lines_around_single_line_property

Possible values:

an integer

Examples:

value: 0
class C { public int X { get { return 1; } } public int Y { get { return 2; } } }
value: 1
class C { public int X { get { return 1; } } public int Y { get { return 2; } } }
value: 2
class C { public int X { get { return 1; } } public int Y { get { return 2; } } }

Around auto/abstract property/event

Property names:

[resharper_]csharp_blank_lines_around_auto_property, [resharper_]blank_lines_around_auto_property

Possible values:

an integer

Examples:

value: 0
class C { /// <summary>x description</summary> public int X { get; set; } /// <summary>x description</summary> public int Y { get; set; } }
value: 1
class C { /// <summary>x description</summary> public int X { get; set; } /// <summary>x description</summary> public int Y { get; set; } }
value: 2
class C { /// <summary>x description</summary> public int X { get; set; } /// <summary>x description</summary> public int Y { get; set; } }

Around single line auto/abstract property/event

Property names:

[resharper_]csharp_blank_lines_around_single_line_auto_property, [resharper_]blank_lines_around_single_line_auto_property

Possible values:

an integer

Examples:

value: 0
class C { public int X { get; set; } public int Y { get; set; } }
value: 1
class C { public int X { get; set; } public int Y { get; set; } }
value: 2
class C { public int X { get; set; } public int Y { get; set; } }

Around method

Property names:

[resharper_]csharp_blank_lines_around_invocable, [resharper_]blank_lines_around_invocable

Possible values:

an integer

Examples:

value: 0
class C { void Method1() { foo(); foo2(); } void Method2() { foo(); foo2(); } }
value: 1
class C { void Method1() { foo(); foo2(); } void Method2() { foo(); foo2(); } }
value: 2
class C { void Method1() { foo(); foo2(); } void Method2() { foo(); foo2(); } }

Around single line method

Property names:

[resharper_]csharp_blank_lines_around_single_line_invocable, [resharper_]blank_lines_around_single_line_invocable

Possible values:

an integer

Examples:

value: 0
abstract class C { abstract void Method1(); abstract void Method2(); }
value: 1
abstract class C { abstract void Method1(); abstract void Method2(); }
value: 2
abstract class C { abstract void Method1(); abstract void Method2(); }

Blank Lines in Code

Keep max blank lines in code

Property names:

[resharper_]csharp_keep_blank_lines_in_code, [resharper_]keep_blank_lines_in_code

Possible values:

an integer

Examples:

Before formattingAfter formatting, value: 0
void Method() { foo(); foo(); }
void Method() { foo(); foo(); }
Before formattingAfter formatting, value: 1
void Method() { foo(); foo(); }
void Method() { foo(); foo(); }
Before formattingAfter formatting, value: 2
void Method() { foo(); foo(); }
void Method() { foo(); foo(); }

Remove blank lines after "{" and before "}" in code

Property names:

[resharper_]csharp_remove_blank_lines_near_braces_in_code, [resharper_]remove_blank_lines_near_braces_in_code

Possible values:

true | false

Examples:

Before formattingAfter formatting, true
void Method() { foo(); foo(); }
void Method() { foo(); foo(); }
Before formattingAfter formatting, false
void Method() { foo(); foo(); }
void Method() { foo(); foo(); }

Around local function

Property names:

[resharper_]csharp_blank_lines_around_local_method, [resharper_]blank_lines_around_local_method

Possible values:

an integer

Examples:

value: 0
void Method() { void LocalFunction1() { foo(); foo2(); } void LocalFunction2() { foo(); foo2(); } }
value: 1
void Method() { void LocalFunction1() { foo(); foo2(); } void LocalFunction2() { foo(); foo2(); } }
value: 2
void Method() { void LocalFunction1() { foo(); foo2(); } void LocalFunction2() { foo(); foo2(); } }

Around single line local function

Property names:

[resharper_]csharp_blank_lines_around_single_line_local_method, [resharper_]blank_lines_around_single_line_local_method

Possible values:

an integer

Examples:

value: 0
void Method() { void LocalFunction1() { } void LocalFunction2() { } }
value: 1
void Method() { void LocalFunction1() { } void LocalFunction2() { } }
value: 2
void Method() { void LocalFunction1() { } void LocalFunction2() { } }

Before statements with control transfer

Property names:

[resharper_]csharp_blank_lines_before_control_transfer_statements, [resharper_]blank_lines_before_control_transfer_statements

Possible values:

an integer

Examples:

value: 0
void Foo(string arg) { Logger.Log("Foo"); if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }
value: 1
void Foo(string arg) { Logger.Log("Foo"); if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }
value: 2
void Foo(string arg) { Logger.Log("Foo"); if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }

After statements with control transfer

Property names:

[resharper_]csharp_blank_lines_after_control_transfer_statements, [resharper_]blank_lines_after_control_transfer_statements

Possible values:

an integer

Examples:

value: 0
void Foo(string arg) { if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }
value: 1
void Foo(string arg) { if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }
value: 2
void Foo(string arg) { if (arg == null) throw new ArgumentNullException(); var smth = arg.GetSomething(); if (smth == null) return null; var smthElse = smth.GetSomethingElse(); }

Before statements with child blocks

Property names:

[resharper_]csharp_blank_lines_before_block_statements, [resharper_]blank_lines_before_block_statements

Possible values:

an integer

Examples:

value: 0
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }
value: 1
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }
value: 2
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }

After statements with child blocks

Property names:

[resharper_]csharp_blank_lines_after_block_statements, [resharper_]blank_lines_after_block_statements

Possible values:

an integer

Examples:

value: 0
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }
value: 1
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }
value: 2
string Foo(string arg) { Logger.Log("Foo"); if (arg == "A") { DoSomething(); DoSomethingElse(); } DoMoreThings(); }

Before multiline statements

Property names:

[resharper_]csharp_blank_lines_before_multiline_statements, [resharper_]blank_lines_before_multiline_statements

Possible values:

an integer

Examples:

value: 0
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }
value: 1
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }
value: 2
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }

After multiline statements

Property names:

[resharper_]csharp_blank_lines_after_multiline_statements, [resharper_]blank_lines_after_multiline_statements

Possible values:

an integer

Examples:

value: 0
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }
value: 1
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }
value: 2
string Foo(string arg) { DoSomething(); foreach (var x in y) { x.DoSomething(); x.DoSomethingElse(); } DoSomething(); foreach (var x in y) x.DoSomething(); DoSomething(); DoSomething( 1, 2); DoSomething(); }

Around "case" section with a block in switch statement

Property names:

[resharper_]csharp_blank_lines_around_block_case_section, [resharper_]blank_lines_around_block_case_section

Possible values:

an integer

Examples:

value: 0
switch (a) { case 1: { DoThis(); DoThat(); break; } case 2: { DoIt(); DoItAgainWithLove(); break; } default: { DoNothing(); DoSomething(); break; } }
value: 1
switch (a) { case 1: { DoThis(); DoThat(); break; } case 2: { DoIt(); DoItAgainWithLove(); break; } default: { DoNothing(); DoSomething(); break; } }
value: 2
switch (a) { case 1: { DoThis(); DoThat(); break; } case 2: { DoIt(); DoItAgainWithLove(); break; } default: { DoNothing(); DoSomething(); break; } }

Around multiline "case" section in switch statement

Property names:

[resharper_]csharp_blank_lines_around_multiline_case_section, [resharper_]blank_lines_around_multiline_case_section

Possible values:

an integer

Examples:

value: 0
switch (a) { case 1: DoThis(); break; case 2: DoThat(); break; default: DoNothing(); break; }
value: 1
switch (a) { case 1: DoThis(); break; case 2: DoThat(); break; default: DoNothing(); break; }
value: 2
switch (a) { case 1: DoThis(); break; case 2: DoThat(); break; default: DoNothing(); break; }

Before "case" in switch statement

Property names:

[resharper_]csharp_blank_lines_before_case, [resharper_]blank_lines_before_case

Possible values:

an integer

Examples:

value: 0
switch (a) { case 1: return x; case 2: return y; default: return 0; }
value: 1
switch (a) { case 1: return x; case 2: return y; default: return 0; }
value: 2
switch (a) { case 1: return x; case 2: return y; default: return 0; }

After "case" in switch statement

Property names:

[resharper_]csharp_blank_lines_after_case, [resharper_]blank_lines_after_case

Possible values:

an integer

Examples:

value: 0
switch (a) { case 1: DoThis(); DoThat(); break; case 2: DoIt(); DoItAgainWithLove(); break; default: DoNothing(); DoSomething(); break; }
value: 1
switch (a) { case 1: DoThis(); DoThat(); break; case 2: DoIt(); DoItAgainWithLove(); break; default: DoNothing(); DoSomething(); break; }
value: 2
switch (a) { case 1: DoThis(); DoThat(); break; case 2: DoIt(); DoItAgainWithLove(); break; default: DoNothing(); DoSomething(); break; }
Last modified: 08 May 2020