ReSharper 2025.3 ヘルプ

C++ の EditorConfig プロパティ: 改行および折り返し

一般

ファイルの終わりに改行

プロパティ名:

insert_final_newline , [resharper_]cpp_insert_final_newline

使用可能な値:

true | false

新規行の配置

複合文の後の新しい行に「else」を配置する

プロパティ名:

[resharper_]cpp_new_line_before_else , [resharper_]new_line_before_else

使用可能な値:

true | false

例:

true

if (true) { foo(); } else { foo(); }

false

if (true) { foo(); } else { foo(); }

複合ステートメントの後の新しい行に 'while' を配置する

プロパティ名:

[resharper_]cpp_new_line_before_while , [resharper_]new_line_before_while

使用可能な値:

true | false

例:

true

do { foo(); } while (true);

false

do { foo(); } while (true);

複合ステートメントの後の新しい行に 'catch' を配置する

プロパティ名:

[resharper_]cpp_new_line_before_catch , [resharper_]new_line_before_catch

使用可能な値:

true | false

例:

true

try { foo(); } catch (...) { foo(); }

false

try { foo(); } catch (...) { foo(); }

1 つの埋め込みステートメント内のブレークライン

プロパティ名:

[resharper_]cpp_simple_embedded_statement_style , [resharper_]simple_embedded_statement_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

if (true) foo(); else foo();

on_single_line

if (true) foo(); else foo();

line_break

if (true) foo(); else foo();

単純な 'case' ステートメントの改行

プロパティ名:

[resharper_]cpp_simple_case_statement_style , [resharper_]simple_case_statement_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

switch (a) { case b: break; case c: break; }

on_single_line

switch (a) { case b: break; case c: break; }

line_break

switch (a) { case b: break; case c: break; }

メンバー関数定義後のブレークライン戻り値の型

プロパティ名:

[resharper_]cpp_function_definition_return_type_style , [resharper_]function_definition_return_type_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

struct Boo { int* foo() { return 0; } char* bar() { return 0; } };

on_single_line

struct Boo { int* foo() { return 0; } char* bar() { return 0; } };

line_break

struct Boo { int* foo() { return 0; } char* bar() { return 0; } };

トップレベル関数定義の戻り型の後のブレークライン

プロパティ名:

[resharper_]cpp_toplevel_function_definition_return_type_style , [resharper_]toplevel_function_definition_return_type_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

int* foo() { return 0; } char* bar() { return 0; }

on_single_line

int* foo() { return 0; } char* bar() { return 0; }

line_break

int* foo() { return 0; } char* bar() { return 0; }

メンバー関数宣言後の行を中断する戻り値の型

プロパティ名:

[resharper_]cpp_function_declaration_return_type_style , [resharper_]function_declaration_return_type_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

struct Boo { int* foo(); char* bar(); };

on_single_line

struct Boo { int* foo(); char* bar(); };

line_break

struct Boo { int* foo(); char* bar(); };

トップレベル関数宣言後のブレークライン戻り値の型

プロパティ名:

[resharper_]cpp_toplevel_function_declaration_return_type_style , [resharper_]toplevel_function_declaration_return_type_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

int* foo(); char* bar();

on_single_line

int* foo(); char* bar();

line_break

int* foo(); char* bar();

テンプレート宣言のテンプレート <...> の後の改行行

プロパティ名:

[resharper_]cpp_break_template_declaration , [resharper_]break_template_declaration

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

template <class T> void foo(); template <class T> void bar();

on_single_line

template <class T> void foo(); template <class T> void bar();

line_break

template <class T> void foo(); template <class T> void bar();

init-statement の後の改行

プロパティ名:

[resharper_]cpp_line_break_after_init_statement , [resharper_]line_break_after_init_statement

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

if (bool b = true; b) foo();

on_single_line

if (bool b = true; b) foo();

line_break

if (bool b = true; b) foo();

require-clause の前に改行

プロパティ名:

[resharper_]cpp_line_break_before_requires_clause , [resharper_]line_break_before_requires_clause

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

template <bool T> requires T void foo(); template <bool T> requires T void bar();

on_single_line

template <bool T> requires T void foo(); template <bool T> requires T void bar();

line_break

template <bool T> requires T void foo(); template <bool T> requires T void bar();

メンバー初期化子リストのコロンの前の行を中断する

プロパティ名:

[resharper_]cpp_member_initializer_list_style , [resharper_]member_initializer_list_style

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

struct X { X(): x(0) { } X(int x) : x(x) { } int x; };

on_single_line

struct X { X(): x(0) { } X(int x): x(x) { } int x; };

line_break

struct X { X() : x(0) { } X(int x) : x(x) { } int x; };

メンバー初期化子リストのコロンの後の行を中断する

プロパティ名:

[resharper_]cpp_line_break_after_colon_in_member_initializer_lists , [resharper_]line_break_after_colon_in_member_initializer_lists

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

struct X { X(): x(0) { } X(int x) : x(x) { } int x; };

on_single_line

struct X { X(): x(0) { } X(int x) : x(x) { } int x; };

line_break

struct X { X(): x(0) { } X(int x) : x(x) { } int x; };

後続の戻り値の型の '->' の前に改行

プロパティ名:

[resharper_]cpp_line_break_before_deref_in_trailing_return_types , [resharper_]line_break_before_deref_in_trailing_return_types

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

auto foo() -> int { }

on_single_line

auto foo() -> int { }

line_break

auto foo() -> int { }

末尾の戻り値の型の '->' の後の改行

プロパティ名:

[resharper_]cpp_line_break_after_deref_in_trailing_return_types , [resharper_]line_break_after_deref_in_trailing_return_types

使用可能な値:

  • do_not_change : 変更しない

  • on_single_line : 強制的に 1 行に入れる

  • line_break : 強制改行

例:

do_not_change

auto foo() -> int { }

on_single_line

auto foo() -> int { }

line_break

auto foo() -> int { }

メンバー初期化子リストのコンマの前の行を中断する

プロパティ名:

[resharper_]cpp_line_break_before_comma_in_member_initializer_lists , [resharper_]line_break_before_comma_in_member_initializer_lists

使用可能な値:

true | false

例:

true

struct MyStruct { MyStruct() : first(f) , second(s) { } };

false

struct MyStruct { MyStruct() : first(f), second(s) { } };

メンバー初期化子リストのコンマの後の改行

プロパティ名:

[resharper_]cpp_line_break_after_comma_in_member_initializer_lists , [resharper_]line_break_after_comma_in_member_initializer_lists

使用可能な値:

true | false

例:

true

struct MyStruct { MyStruct() : first(f), second(s) { } };

false

struct MyStruct { MyStruct() : first(f), second(s) { } };

同じ行に C++ /CLI 総称制約を許可する

プロパティ名:

[resharper_]cpp_place_type_constraints_on_same_line , [resharper_]place_type_constraints_on_same_line

使用可能な値:

true | false

例:

true

generic<class T> class C where T : IEnumerable{};

false

generic<class T> class C where T : IEnumerable{};

行折り返し

既存の改行を維持する

プロパティ名:

[resharper_]cpp_keep_user_linebreaks , [resharper_]keep_user_linebreaks

使用可能な値:

true | false

例:

フォーマット前

フォーマット後 true

int var = condition ? SomeFunc1() : SomeFunc2();
int var = condition ? SomeFunc1() : SomeFunc2();

フォーマット前

フォーマット後 false

int var = condition ? SomeFunc1() : SomeFunc2();
int var = condition ? SomeFunc1() : SomeFunc2();

次でハードラップ

プロパティ名:

max_line_length , [resharper_]cpp_max_line_length

使用可能な値:

整数

「,」の前に折り返すことを好む

プロパティ名:

[resharper_]cpp_wrap_before_comma , [resharper_]wrap_before_comma

使用可能な値:

true | false

例:

true

CallMethod(arg1, arg2, arg3 , arg4, arg5, arg6 , arg7);

false

CallMethod(arg1, arg2, arg3, arg4, arg5, arg6, arg7);

基本句の「,」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_comma_in_base_clause , [resharper_]wrap_before_comma_in_base_clause

使用可能な値:

true | false

例:

true

class Derived : BaseClass, I1 , I2, I3, I4 { }

false

class Derived : BaseClass, I1, I2, I3, I4 { }

ラップ三項演算子

プロパティ名:

[resharper_]cpp_wrap_ternary_expr_style , [resharper_]wrap_ternary_expr_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

myField = someCondition ? true : false;

chop_if_long

myField = someCondition ? true : false;

chop_always

myField = someCondition ? true : false;

「?」の前に折り返すことを好む三項演算子の「:」

プロパティ名:

[resharper_]cpp_wrap_before_ternary_opsigns , [resharper_]wrap_before_ternary_opsigns

使用可能な値:

true | false

例:

true

return hereGoesSomeBoolExpression ? returnThisIfTrue : returnThatIfFalse;

false

return hereGoesSomeBoolExpression ? returnThisIfTrue : returnThatIfFalse;

「:」の前に折り返すことを好む

プロパティ名:

[resharper_]cpp_wrap_before_colon , [resharper_]wrap_before_colon

使用可能な値:

true | false

例:

true

class Derived : BaseClass, I1, I2, I3, I4 { }

false

class Derived : BaseClass, I1, I2, I3, I4 { }

最初の C++/CLI 汎用制約の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_first_type_parameter_constraint , [resharper_]wrap_before_first_type_parameter_constraint

使用可能な値:

true | false

例:

true

generic<class T1, T2, T3> class C where T1: I1 where T2: I2 where T3 : ref class { };

false

generic<class T1, T2, T3> class C where T1: I1 where T2: I2 where T3 : ref class { };

複数の C++ /CLI ジェネリクス制約をラップする

プロパティ名:

[resharper_]cpp_wrap_multiple_type_parameter_constraints_style , [resharper_]wrap_multiple_type_parameter_constraints_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

generic<class T1, T2, T3> class C where T1: I1 where T2: I2 where T3 : ref class { };

chop_if_long

generic<class T1, T2, T3> class C where T1: I1 where T2: I2 where T3 : ref class { };

chop_always

generic<class T1, T2, T3> class C where T1: I1 where T2: I2 where T3 : ref class { };

列挙型定義をラップする

プロパティ名:

[resharper_]cpp_wrap_enumeration_style , [resharper_]wrap_enumeration_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

enum { ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN };

chop_if_long

enum { ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN };

chop_always

enum { ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN };

ブレースされた初期化子リストをラップする

プロパティ名:

[resharper_]cpp_wrap_braced_init_list_style , [resharper_]wrap_braced_init_list_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

std::map<int, std::string> m = { {1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2} };

chop_if_long

std::map<int, std::string> m = { {1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2} };

chop_always

std::map<int, std::string> m = { { 1, "a" }, { 2, { 'a', 'b', 'c' } }, { 3, s1 }, { 4, s2 } };

ラップベースクラスリスト

プロパティ名:

[resharper_]cpp_wrap_base_clause_style , [resharper_]wrap_base_clause_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

class Derived : BaseClass, I1, I2, I3, I4 { }

chop_if_long

class Derived : BaseClass, I1, I2, I3, I4 { }

chop_always

class Derived : BaseClass, I1, I2, I3, I4 { }

ラップコンストラクター初期化子

プロパティ名:

[resharper_]cpp_wrap_ctor_initializer_style , [resharper_]wrap_ctor_initializer_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

struct XXX { X(): x(0), y(0), z(0) { } XXX(int x, int y, int z) : x(x), y(y), z(z) { } int x; int y; int z; };

chop_if_long

struct XXX { X(): x(0), y(0), z(0) { } XXX(int x, int y, int z) : x(x), y(y), z(z) { } int x; int y; int z; };

chop_always

struct XXX { X(): x(0), y(0), z(0) { } XXX(int x, int y, int z) : x(x), y(y), z(z) { } int x; int y; int z; };

仮パラメーターをラップする

プロパティ名:

[resharper_]cpp_wrap_parameters_style , [resharper_]wrap_parameters_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

void SomeMethod(int p1, int p2, int p3, int p4) { }

chop_if_long

void SomeMethod(int p1, int p2, int p3, int p4) { }

chop_always

void SomeMethod(int p1, int p2, int p3, int p4) { }

宣言で「(」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_declaration_lpar , [resharper_]wrap_before_declaration_lpar

使用可能な値:

true | false

例:

true

void SomeMethod (int p1, int p2, int p3, int p4) { }

false

void SomeMethod(int p1, int p2, int p3, int p4) { }

宣言で「(」の後にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_after_declaration_lpar , [resharper_]wrap_after_declaration_lpar

使用可能な値:

true | false

例:

true

void SomeMethod( int p1, int p2, int p3, int p4) { }

false

void SomeMethod(int p1, int p2, int p3, int p4) { }

宣言で「)」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_declaration_rpar , [resharper_]wrap_before_declaration_rpar

使用可能な値:

true | false

例:

true

void SomeMethod(int p1, int p2, int p3, int p4 ) { }

false

void SomeMethod(int p1, int p2, int p3, int p4) { }

呼び出し引数をラップする

プロパティ名:

[resharper_]cpp_wrap_arguments_style , [resharper_]wrap_arguments_style

使用可能な値:

  • wrap_if_long : シンプルラップ

  • chop_if_long : ロングまたは複数行の場合はチョップ

  • chop_always : 常にチョップ

例:

wrap_if_long

CallMethod(arg1, arg2, arg3, arg4, arg5);

chop_if_long

CallMethod(arg1, arg2, arg3, arg4, arg5);

chop_always

CallMethod(arg1, arg2, arg3, arg4, arg5);

呼び出しで「(」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_invocation_lpar , [resharper_]wrap_before_invocation_lpar

使用可能な値:

true | false

例:

true

CallMethod (arg1, arg2, arg3, arg4, arg5);

false

CallMethod(arg1, arg2, arg3, arg4, arg5);

呼び出しで「(」の後にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_after_invocation_lpar , [resharper_]wrap_after_invocation_lpar

使用可能な値:

true | false

例:

true

CallMethod( arg1, arg2, arg3, arg4, arg5);

false

CallMethod(arg1, arg2, arg3, arg4, arg5);

呼び出しで「)」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_invocation_rpar , [resharper_]wrap_before_invocation_rpar

使用可能な値:

true | false

例:

true

CallMethod(arg1, arg2, arg3, arg4, arg5 );

false

CallMethod(arg1, arg2, arg3, arg4, arg5);

初期化子リストで「{」の後にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_after_expression_lbrace , [resharper_]wrap_after_expression_lbrace

使用可能な値:

true | false

例:

true

map<int, string> m = { {1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2} };

false

map<int, string> m = {{1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2} };

初期化子リストで「}」の前にラップすることを好む

プロパティ名:

[resharper_]cpp_wrap_before_expression_rbrace , [resharper_]wrap_before_expression_rbrace

使用可能な値:

true | false

例:

true

map<int, string> m = { {1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2} };

false

map<int, string> m = { {1, "a"}, {2, {'a', 'b', 'c'}}, {3, s1}, {4, s2}};
2024 年 5 月 26 日