Opcje formatowania języka C#

Opcje formatowania w tym artykule dotyczą tylko kodu w języku C#. Są to opcje reguły stylu kodu IDE0055.

Opcje nowego wiersza

Opcje nowego wiersza dotyczą używania nowych wierszy do formatowania kodu.

Przykładowy plik editorconfig :

#  CSharp formatting rules:
[*.cs]
csharp_new_line_before_open_brace = methods, properties, control_blocks, types
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

csharp_new_line_before_open_brace

Ta opcja dotyczy tego, czy otwarty nawias klamrowy { powinien być umieszczony w tym samym wierszu co poprzedni kod, czy w nowym wierszu. Dla tej reguły należy określić wszystkie, brak lub co najmniej jeden element kodu, taki jak metody lub właściwości, aby określić, kiedy ta reguła ma być stosowana. Aby określić wiele elementów kodu, rozdziel je przecinkiem (,).

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_open_brace
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji all Wymagaj, aby nawiasy klamrowe znajdowały się w nowym wierszu dla wszystkich wyrażeń ("Styl Allmana").
none Wymagaj, aby nawiasy klamrowe znajdowały się w tym samym wierszu dla wszystkich wyrażeń ("K&R").
accessors, anonymous_methods, , anonymous_types, eventscontrol_blocks, propertiesobject_collection_array_initializersindexers
lambdaslocal_functionsmethodstypes
Wymagaj, aby nawiasy klamrowe znajdowały się w nowym wierszu dla określonego elementu kodu ("Allman" style).
Wartość opcji domyślnej all

Przykłady kodu:

// csharp_new_line_before_open_brace = all
void MyMethod()
{
    if (...)
    {
        ...
    }
}

// csharp_new_line_before_open_brace = none
void MyMethod() {
    if (...) {
        ...
    }
}

csharp_new_line_before_else

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_else
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść else instrukcje w nowym wierszu.
false Umieść else instrukcje w tym samym wierszu.
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_before_else = true
if (...) {
    ...
}
else {
    ...
}

// csharp_new_line_before_else = false
if (...) {
    ...
} else {
    ...
}

csharp_new_line_before_catch

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_catch
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść catch instrukcje w nowym wierszu.
false Umieść catch instrukcje w tym samym wierszu.
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_before_catch = true
try {
    ...
}
catch (Exception e) {
    ...
}

// csharp_new_line_before_catch = false
try {
    ...
} catch (Exception e) {
    ...
}

csharp_new_line_before_finally

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_finally
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wymagaj finally , aby instrukcje znajdowały się w nowym wierszu po zamykającym nawiasie klamrowym.
false Wymagaj finally , aby instrukcje znajdowały się w tym samym wierszu co zamykający nawias klamrowy.
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_before_finally = true
try {
    ...
}
catch (Exception e) {
    ...
}
finally {
    ...
}

// csharp_new_line_before_finally = false
try {
    ...
} catch (Exception e) {
    ...
} finally {
    ...
}

csharp_new_line_before_members_in_object_initializers

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_members_in_object_initializers
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wymagaj, aby elementy członkowskie inicjatorów obiektów znajdowały się w osobnych wierszach
false Wymagaj, aby elementy członkowskie inicjatorów obiektów znajdowały się w tym samym wierszu
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_before_members_in_object_initializers = true
var z = new B()
{
    A = 3,
    B = 4
}

// csharp_new_line_before_members_in_object_initializers = false
var z = new B()
{
    A = 3, B = 4
}

csharp_new_line_before_members_in_anonymous_types

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_before_members_in_anonymous_types
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wymagaj, aby członkowie anonimowych typów znajdowali się w osobnych wierszach
false Wymagaj, aby członkowie typów anonimowych znajdowali się w tym samym wierszu
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_before_members_in_anonymous_types = true
var z = new
{
    A = 3,
    B = 4
}

// csharp_new_line_before_members_in_anonymous_types = false
var z = new
{
    A = 3, B = 4
}

csharp_new_line_between_query_expression_clauses

Właściwości Wartość Opis
Nazwa opcji csharp_new_line_between_query_expression_clauses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wymagaj, aby elementy klauzul wyrażenia zapytania znajdowały się w osobnych wierszach
false Wymagaj, aby elementy klauzul wyrażeń zapytania znajdowały się w tym samym wierszu
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_new_line_between_query_expression_clauses = true
var q = from a in e
        from b in e
        select a * b;

// csharp_new_line_between_query_expression_clauses = false
var q = from a in e from b in e
        select a * b;

Opcje wcięcia

Opcje wcięcia dotyczą użycia wcięcia do formatowania kodu.

Przykładowy plik editorconfig :

#  CSharp formatting rules:
[*.cs]
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents_when_block = true

csharp_indent_case_contents

Właściwości Wartość Opis
Nazwa opcji csharp_indent_case_contents
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wcięcie switch zawartości wielkości liter
false Nie wcięć switch zawartości wielkości liter
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_indent_case_contents = true
switch(c) {
    case Color.Red:
        Console.WriteLine("The color is red");
        break;
    case Color.Blue:
        Console.WriteLine("The color is blue");
        break;
    default:
        Console.WriteLine("The color is unknown.");
        break;
}

// csharp_indent_case_contents = false
switch(c) {
    case Color.Red:
    Console.WriteLine("The color is red");
    break;
    case Color.Blue:
    Console.WriteLine("The color is blue");
    break;
    default:
    Console.WriteLine("The color is unknown.");
    break;
}

csharp_indent_switch_labels

Właściwości Wartość Opis
Nazwa opcji csharp_indent_switch_labels
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Etykiety wcięcia switch
false Nie wcięć switch etykiet
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_indent_switch_labels = true
switch(c) {
    case Color.Red:
        Console.WriteLine("The color is red");
        break;
    case Color.Blue:
        Console.WriteLine("The color is blue");
        break;
    default:
        Console.WriteLine("The color is unknown.");
        break;
}

// csharp_indent_switch_labels = false
switch(c) {
case Color.Red:
    Console.WriteLine("The color is red");
    break;
case Color.Blue:
    Console.WriteLine("The color is blue");
    break;
default:
    Console.WriteLine("The color is unknown.");
    break;
}

csharp_indent_labels

Właściwości Wartość Opis
Nazwa opcji csharp_indent_labels
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji flush_left Etykiety są umieszczane w lewej kolumnie
one_less_than_current Etykiety są umieszczane w jednym mniejszym wcięcie do bieżącego kontekstu
no_change Etykiety są umieszczane w tym samym wcięcie co bieżący kontekst
Wartość opcji domyślnej one_less_than_current

Przykłady kodu:

// csharp_indent_labels= flush_left
class C
{
    private string MyMethod(...)
    {
        if (...) {
            goto error;
        }
error:
        throw new Exception(...);
    }
}

// csharp_indent_labels = one_less_than_current
class C
{
    private string MyMethod(...)
    {
        if (...) {
            goto error;
        }
    error:
        throw new Exception(...);
    }
}

// csharp_indent_labels= no_change
class C
{
    private string MyMethod(...)
    {
        if (...) {
            goto error;
        }
        error:
        throw new Exception(...);
    }
}

csharp_indent_block_contents

Właściwości Wartość Opis
Nazwa opcji csharp_indent_block_contents
Odpowiednie języki C#
Wartości opcji true Wcięcie zawartości bloku.
false Nie wcięć zawartości bloku.
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_indent_block_contents = true
static void Hello()
{
    Console.WriteLine("Hello");
}

// csharp_indent_block_contents = false
static void Hello()
{
Console.WriteLine("Hello");
}

csharp_indent_braces

Właściwości Wartość Opis
Nazwa opcji csharp_indent_braces
Odpowiednie języki C#
Wartości opcji true Wcięcie nawiasów klamrowych.
false Nie wcięć nawiasów klamrowych.
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_indent_braces = true
static void Hello()
    {
    Console.WriteLine("Hello");
    }

// csharp_indent_braces = false
static void Hello()
{
    Console.WriteLine("Hello");
}

csharp_indent_case_contents_when_block

Właściwości Wartość Opis
Nazwa opcji csharp_indent_case_contents_when_block
Odpowiednie języki C#
Wartości opcji true Gdy jest to blok, wcięć listę instrukcji i nawiasy klamrowe dla przypadku w instrukcji switch.
false Gdy jest to blok, nie wcięć listy instrukcji i nawiasów klamrowych dla przypadku w instrukcji switch.
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_indent_case_contents_when_block = true
case 0:
    {
        Console.WriteLine("Hello");
        break;
    }

// csharp_indent_case_contents_when_block = false
case 0:
{
    Console.WriteLine("Hello");
    break;
}

Opcje odstępów

Opcje odstępów dotyczą używania znaków spacji do formatowania kodu.

Przykładowy plik editorconfig :

#  CSharp formatting rules:
[*.cs]
csharp_space_after_cast = true
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_parentheses = control_flow_statements, type_casts
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 = true
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 = true
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

csharp_space_after_cast

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_cast
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji między rzutem a wartością
false Usuń spację między rzutem a wartością
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_after_cast = true
int y = (int) x;

// csharp_space_after_cast = false
int y = (int)x;

csharp_space_after_keywords_in_control_flow_statements

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_keywords_in_control_flow_statements
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji po słowie kluczowym w instrukcji przepływu sterowania, takiej jak pętla for
false Usuwanie spacji po słowie kluczowym w instrukcji przepływu sterowania, takiej jak pętla for
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_space_after_keywords_in_control_flow_statements = true
for (int i;i<x;i++) { ... }

// csharp_space_after_keywords_in_control_flow_statements = false
for(int i;i<x;i++) { ... }

csharp_space_between_parentheses

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_parentheses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji control_flow_statements Umieść odstęp między nawiasami instrukcji przepływu sterowania
expressions Umieść odstęp między nawiasami wyrażeń
type_casts Umieść odstęp między nawiasami w rzutach typu
false (lub dowolna inna wartość) Nigdy nie dodawaj spacji między nawiasami

Jeśli pominiesz tę regułę lub użyjesz wartości innej niż control_flow_statements, expressionslub type_casts, ustawienie nie zostanie zastosowane.

Przykłady kodu:

// csharp_space_between_parentheses = control_flow_statements
for ( int i = 0; i < 10; i++ ) { }

// csharp_space_between_parentheses = expressions
var z = ( x * y ) - ( ( y - x ) * 3 );

// csharp_space_between_parentheses = type_casts
int y = ( int )x;

// csharp_space_between_parentheses = false
int y = (int)x;

csharp_space_before_colon_in_inheritance_clause

Właściwości Wartość Opis
Nazwa opcji csharp_space_before_colon_in_inheritance_clause
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji przed dwukropkiem dla baz lub interfejsów w deklaracji typu
false Usuń spację przed dwukropkiem dla baz lub interfejsów w deklaracji typu
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_space_before_colon_in_inheritance_clause = true
interface I
{

}

class C : I
{

}

// csharp_space_before_colon_in_inheritance_clause = false
interface I
{

}

class C: I
{

}

csharp_space_after_colon_in_inheritance_clause

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_colon_in_inheritance_clause
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji po dwukropku dla baz lub interfejsów w deklaracji typu
false Usuń spację po dwukropku dla baz lub interfejsów w deklaracji typu
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_space_after_colon_in_inheritance_clause = true
interface I
{

}

class C : I
{

}

// csharp_space_after_colon_in_inheritance_clause = false
interface I
{

}

class C :I
{

}

csharp_space_around_binary_operators

Właściwości Wartość Opis
Nazwa opcji csharp_space_around_binary_operators
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji before_and_after Wstaw spację przed operatorem binarnym i po nim
none Usuń spacje przed operatorem binarnym i po nim
ignore Ignoruj spacje wokół operatorów binarnych
Wartość opcji domyślnej before_and_after

Przykłady kodu:

// csharp_space_around_binary_operators = before_and_after
return x * (x - y);

// csharp_space_around_binary_operators = none
return x*(x-y);

// csharp_space_around_binary_operators = ignore
return x  *  (x-y);

csharp_space_between_method_declaration_parameter_list_parentheses

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_declaration_parameter_list_parentheses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji po nawiasie otwierającym i przed nawiasem zamykającym listy parametrów deklaracji metody
false Usuń znaki spacji po nawiasie otwierającym i przed nawiasem zamykającym listy parametrów deklaracji metody
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_declaration_parameter_list_parentheses = true
void Bark( int x ) { ... }

// csharp_space_between_method_declaration_parameter_list_parentheses = false
void Bark(int x) { ... }

csharp_space_between_method_declaration_empty_parameter_list_parentheses

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_declaration_empty_parameter_list_parentheses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wstaw spację w nawiasach listy pustych parametrów dla deklaracji metody
false Usuń spację w nawiasach listy pustych parametrów dla deklaracji metody
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_declaration_empty_parameter_list_parentheses = true
void Goo( )
{
    Goo(1);
}

void Goo(int x)
{
    Goo();
}

// csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
void Goo()
{
    Goo(1);
}

void Goo(int x)
{
    Goo();
}

csharp_space_between_method_declaration_name_and_open_parenthesis

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_declaration_name_and_open_parenthesis
Odpowiednie języki C#
Wartości opcji true Umieść znak spacji między nazwą metody i nawiasem otwierającym w deklaracji metody
false Usuń znaki spacji między nazwą metody i nawiasem otwierającym w deklaracji metody
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_declaration_name_and_open_parenthesis = true
void M () { }

// csharp_space_between_method_declaration_name_and_open_parenthesis = false
void M() { }

csharp_space_between_method_call_parameter_list_parentheses

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_call_parameter_list_parentheses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Umieść znak spacji po nawiasie otwierającym i przed nawiasem zamykającym wywołania metody
false Usuń znaki spacji po nawiasie otwierającym i przed nawiasem zamykającym wywołania metody
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_call_parameter_list_parentheses = true
MyMethod( argument );

// csharp_space_between_method_call_parameter_list_parentheses = false
MyMethod(argument);

csharp_space_between_method_call_empty_parameter_list_parentheses

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_call_empty_parameter_list_parentheses
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wstaw spację w pustych nawiasach listy argumentów
false Usuń spację w pustych nawiasach listy argumentów
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_call_empty_parameter_list_parentheses = true
void Goo()
{
    Goo(1);
}

void Goo(int x)
{
    Goo( );
}

// csharp_space_between_method_call_empty_parameter_list_parentheses = false
void Goo()
{
    Goo(1);
}

void Goo(int x)
{
    Goo();
}

csharp_space_between_method_call_name_and_opening_parenthesis

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_method_call_name_and_opening_parenthesis
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Wstaw odstęp między nazwą wywołania metody i nawiasem otwierającym
false Usuń odstęp między nazwą wywołania metody i nawiasem otwierającym
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_method_call_name_and_opening_parenthesis = true
void Goo()
{
    Goo (1);
}

void Goo(int x)
{
    Goo ();
}

// csharp_space_between_method_call_name_and_opening_parenthesis = false
void Goo()
{
    Goo(1);
}

void Goo(int x)
{
    Goo();
}

csharp_space_after_comma

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_comma
Odpowiednie języki C#
Wartości opcji true Wstaw spację po przecince
false Usuwanie spacji po przecince
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_space_after_comma = true
int[] x = new int[] { 1, 2, 3, 4, 5 };

// csharp_space_after_comma = false
int[] x = new int[] { 1,2,3,4,5 };

csharp_space_before_comma

Właściwości Wartość Opis
Nazwa opcji csharp_space_before_comma
Odpowiednie języki C#
Wartości opcji true Wstaw spację przed przecinkiem
false Usuń spację przed przecinkiem
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_before_comma = true
int[] x = new int[] { 1 , 2 , 3 , 4 , 5 };

// csharp_space_before_comma = false
int[] x = new int[] { 1, 2, 3, 4, 5 };

csharp_space_after_dot

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_dot
Odpowiednie języki C#
Wartości opcji true Wstaw spację po kropki
false Usuń spację po kropki
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_after_dot = true
this. Goo();

// csharp_space_after_dot = false
this.Goo();

csharp_space_before_dot

Właściwości Wartość Opis
Nazwa opcji csharp_space_before_dot
Odpowiednie języki C#
Wartości opcji true Wstaw spację przed kropką
false Usuń spację przed kropką
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_before_dot = true
this .Goo();

// csharp_space_before_dot = false
this.Goo();

csharp_space_after_semicolon_in_for_statement

Właściwości Wartość Opis
Nazwa opcji csharp_space_after_semicolon_in_for_statement
Odpowiednie języki C#
Wartości opcji true Wstaw spację po każdym średniku w instrukcji for
false Usuń spację po każdym średniku w instrukcji for
Wartość opcji domyślnej true

Przykłady kodu:

// csharp_space_after_semicolon_in_for_statement = true
for (int i = 0; i < x.Length; i++)

// csharp_space_after_semicolon_in_for_statement = false
for (int i = 0;i < x.Length;i++)

csharp_space_before_semicolon_in_for_statement

Właściwości Wartość Opis
Nazwa opcji csharp_space_before_semicolon_in_for_statement
Odpowiednie języki C#
Wartości opcji true Wstaw spację przed każdym średnikiem w instrukcji for
false Usuń spację przed każdym średnikiem w instrukcji for
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_before_semicolon_in_for_statement = true
for (int i = 0 ; i < x.Length ; i++)

// csharp_space_before_semicolon_in_for_statement = false
for (int i = 0; i < x.Length; i++)

csharp_space_around_declaration_statements

Właściwości Wartość Opis
Nazwa opcji csharp_space_around_declaration_statements
Odpowiednie języki C#
Wartości opcji ignore Nie usuwaj dodatkowych znaków spacji w instrukcjach deklaracji
false Usuwanie dodatkowych znaków spacji w instrukcjach deklaracji
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_around_declaration_statements = ignore
int    x    =    0   ;

// csharp_space_around_declaration_statements = false
int x = 0;

csharp_space_before_open_square_brackets

Właściwości Wartość Opis
Nazwa opcji csharp_space_before_open_square_brackets
Odpowiednie języki C#
Wartości opcji true Wstaw spację przed otwarciem nawiasów kwadratowych [
false Usuń spację przed otwarciem nawiasów kwadratowych [
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_before_open_square_brackets = true
int [] numbers = new int [] { 1, 2, 3, 4, 5 };

// csharp_space_before_open_square_brackets = false
int[] numbers = new int[] { 1, 2, 3, 4, 5 };

csharp_space_between_empty_square_brackets

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_empty_square_brackets
Odpowiednie języki C#
Wartości opcji true Wstaw spację między pustymi nawiasami kwadratowymi [ ]
false Usuń spację między pustymi nawiasami kwadratowymi []
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_empty_square_brackets = true
int[ ] numbers = new int[ ] { 1, 2, 3, 4, 5 };

// csharp_space_between_empty_square_brackets = false
int[] numbers = new int[] { 1, 2, 3, 4, 5 };

csharp_space_between_square_brackets

Właściwości Wartość Opis
Nazwa opcji csharp_space_between_square_brackets
Odpowiednie języki C#
Wartości opcji true Wstawianie znaków spacji w nawiasach kwadratowych niepustych [ 0 ]
false Usuwanie znaków spacji w nawiasach kwadratowych niepustych [0]
Wartość opcji domyślnej false

Przykłady kodu:

// csharp_space_between_square_brackets = true
int index = numbers[ 0 ];

// csharp_space_between_square_brackets = false
int index = numbers[0];

Opcje zawijania

Opcje formatowania zawijania dotyczą użycia pojedynczych wierszy w porównaniu z oddzielnymi wierszami dla instrukcji i bloków kodu.

Przykładowy plik editorconfig :

#  CSharp formatting rules:
[*.cs]
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_blocks = true

csharp_preserve_single_line_statements

Właściwości Wartość Opis
Nazwa opcji csharp_preserve_single_line_statements
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Instrukcje leave i deklaracje składowe w tym samym wierszu
false Instrukcje leave i deklaracje składowe w różnych wierszach
Wartość opcji domyślnej true

Przykłady kodu:

//csharp_preserve_single_line_statements = true
int i = 0; string name = "John";

//csharp_preserve_single_line_statements = false
int i = 0;
string name = "John";

csharp_preserve_single_line_blocks

Właściwości Wartość Opis
Nazwa opcji csharp_preserve_single_line_blocks
Odpowiednie języki C#
Wprowadzona wersja Visual Studio 2017
Wartości opcji true Pozostaw blok kodu w jednym wierszu
false Pozostaw blok kodu w oddzielnych wierszach
Wartość opcji domyślnej true

Przykłady kodu:

//csharp_preserve_single_line_blocks = true
public int Foo { get; set; }

//csharp_preserve_single_line_blocks = false
public int MyProperty
{
    get; set;
}

Zobacz też