コードスタイル: C++
この JetBrains Rider 設定ページでは、C++ のコードスタイルのさまざまな側面を構成できます。 コードスタイルの設定は、このトピックにリストされているタブにグループ化されています。
コードスタイルルールの自動検出
このボタンをクリックすると、現在のソリューションで使用されている フォーマットと 構文スタイルの分析を開始し、現在の設定と異なるルールを検出します。 その後、検出されたルールを確認し、必要に応じて変更し、目的の 設定レイヤーまたは .editorconfig または .clang-format 形式の構成ファイルに保存できます。
一般
C++ フォーマットエンジン | これらのラジオボタンを使って、JetBrains Rider が C++ コードのフォーマットおよび整形を行う際に使用するフォーマットエンジンを選択します。
|
現在のスタイルを .clang-format に書き込む | このボタンをクリックして、 JetBrains Rider 設定のコードスタイルを .clang-format ファイルにエクスポートします。 |
タブとインデント
このタブでは、入力時や 既存コードの整形時に JetBrains Rider が コードのインデントをどのようにフォーマットするか指定できます。
インデント設定のソース
ソリューションに影響を与える .editorconfig ファイルがある場合、このタブおよび他のコードスタイル設定タブ の環境設定は EditorConfig スタイルによってオーバーライドされることがあります。 ページ上の少なくとも 1 つの設定が現在のファイルの EditorConfig または Clang-Format スタイルによって上書きされる場合、黄色の警告が表示され、上書きされた各設定も黄色でハイライトされます。 例えば:

複数行の構成要素でインデントと配置を組み合わせる
環境設定でインデントに空白を使用すると指定されている場合、JetBrains Rider も複数の構成要素の位置合わせに空白を使用します。たとえば、複数行の関数パラメーターが最初のパラメーターで位置合わせされる場合など:
ただし、インデント用にタブを使用する場合は、複数行の構成を整列する方法が異なる場合があります。 JetBrains Rider では、新規作成や既存コードの再フォーマット時に、これらの方法のどれを使うか選択できます。
タブがインデントに使用されている場合の整列方法 オプションを使用して、複数行の構成体を配置するための設定を構成できます。
- スペースを使用する (推奨、任意のタブサイズで整列して見える)
このオプションを選択すると、JetBrains Rider はインデントにタブ、位置合わせにスペースを使用します:

これは、タブのサイズが異なるエディターで表示されたときに、2 番目と 3 番目のオプションに整列されたコードが整列しなくなる可能性があるため、推奨されるオプションです。
- タブのみを使用する(不正確)
このオプションを選択すると、JetBrains Rider はインデントと位置合わせの両方にタブを使用しますが、正確な位置合わせにならない場合があります:

- 最適な埋め合わせのためにタブとスペースを混在させる
このオプションを選択すると、JetBrains Rider はインデントと位置合わせの両方にタブを使用し、正確な位置合わせのために必要なスペースを追加します。

命名(Naming)
このタブでは、C++ の シンボル命名規則を設定できます。
UE4 プロジェクトで作業している場合、JetBrains Rider は Unreal Engine コーディング標準に対応する命名ルールセットを自動的に適用しますが、これは設定変更できません。 これは、UE4 プロジェクトで作業しているとき、JetBrains Rider 設定 の ページ Ctrl+Alt+S で構成したルールが無視されることを意味します。 Unreal Engine コーディング標準の代わりに構成済みのルールセットを引き続き使用する場合は、対応するインスペクションを無効にすることができます。

構文スタイル
このタブで設定できる環境設定により、 コード構文スタイル 、すなわち互換可能な言語構文の使い方を強制できます。 これらの環境設定は、JetBrains Rider が コード補完や コード生成機能で新しいコードを作成し、 コードテンプレートを適用し、 リファクタリングを実行するときに考慮されます。 対応する設定で コードのクリーンアップを使うことで、既存のコードにも適用できます。
通知する セレクターの設定には、対応するコードインスペクションがあり、インスペクションされたスコープの構文スタイルのこの側面が優先スタイルと異なる場合に通知します。 セレクターを使用して、インスペクションの 重大度レベルを構成できます。
インクルードディレクティブの並べ替え | このオプションを選択して、ソート順序に違反する |
include ディレクティブで使用するスラッシュの種類 | このチェックボックスを使用して、インクルードディレクティブの優先パス区切り文字を選択します: スラッシュまたはバックスラッシュ。 |
可能であれば事前宣言の使用を優先する | このオプションが選択されている場合、自動インポートは、include ディレクティブを挿入するオプションの前に前方宣言を追加するオプションを配置します。 |
ソースファイルからの相対パスを使用する | このセレクターを使って、JetBrains Rider が生成するインクルードディレクティブで相対パスを使う場面を設定できます。 |
引用符の代わりに山括弧を使用する | デフォルトでは、生成する include ディレクティブは引用符で囲まれます。必要な場合は、このセレクターを使って、生成する include ディレクティブが山括弧で囲まれるケースを指定できます。 |
デフォルトポインターイニシャライザー |
|
メンバーイニシャライザーで均一初期化を使用する | デフォルトでは、JetBrains Rider はイニシャライザーを生成する際に C++03 スタイルを使用します(たとえば、 コンストラクターを生成したり、既存コンストラクターにイニシャライザーを追加するクイックフィックスを適用する場合など)。 このチェックボックスを選択すると、上記の場合に 均一な初期化(英語)を有効にすることができます。 |
非静的データメンバーイニシャライザーで均一初期化を優先する | このオプションでは、JetBrains Rider の機能を適用する際に、非静的データメンバーイニシャライザー(NSDMI)をどのように生成するかを設定できます。 たとえば、次のコードで初期化されていない
class test {
int field;
};
オプションが有効化されている場合、JetBrains Rider は均一初期化 |
メンバーイニシャライザーを初期化の順にソートする | このオプションを使用すると、コンストラクター初期化子リスト内のメンバー初期化子の順序を強制できます。 クラスメンバーは、それを含むクラスで宣言されている順序で初期化されるため、混乱やエラーを最小限に抑えるために、メンバー初期化子を同じ順序に保つのが一般的な方法です。 |
変数型での「自動」使用 | このセクションの環境設定では、数値型と非数値型で |
cv 修飾子の位置 | このセクションの設定では、 |
関数宣言構文 | このオプションを使用して、関数宣言で末尾または通常の戻り型を使用するかどうかを構成します。 |
typedef または型エイリアスを優先する | このオプションは、型のシノミムを定義する方法として、エイリアステンプレートと型のエイリアスのどちらを使用するかを指定します。 このオプションは、 typedef の導入リファクタリングで使用される構文にも影響します。 |
ネストされた名前空間 | このオプションを使用することで、ネストされた名前空間に対する C++17 構文を強制でき、より簡潔に多段階の名前空間を宣言できます。 |
定義を宣言順に並べ替えます。 | このオプションを使用すると、ソースファイル内の定義をヘッダーからの宣言順序と一致するように強制的に並べ替えることができます。 |
関数のオーバーライド | このセクションの設定では、関数とデストラクタのオーバーライドに必要な指定子を構成できます。 |
波括弧 | このセクションの設定では、 |
冗長なものを削除 | このオプションを使用して、JetBrains Rider が選択した環境設定に準拠しないオプションの中括弧を削除するかどうかを設定できます。 |
波括弧レイアウト
このタブを使って、JetBrains Rider が新しいコードを生成したり 既存コードを整形したりする際の波括弧の配置方法を調整できます。特に、 if や for 演算子の後の波括弧の配置方法を複数から選択できます。
すべての項目について、ページの下部にプレビューペインがあり、特定の設定を調整した後で変更を確認できます。
空白行
このタブでは、JetBrains Rider が名前空間やメンバー、領域、インポートディレクティブのグループの周囲の空白行数を増減させるかどうかを設定できます。 値を調整し、ページ下部のプレビューペインを確認して、設定がコードにどのように影響するかを確認できます。
既存のフォーマットを保持する セクションのオプションは、JetBrains Rider が既存コードを 再フォーマットする場合のみ適用され、 空白行 セクションには新しいコード入力時にも有効なオプションが含まれます。
このタブで設定するオプションは、次の場合に適用されます。
改行および折り返し
このページは、ソースコードの特定の位置に改行を設定するために使用されます。 このページのオプションは、JetBrains Rider が既存コードを 再フォーマットする場合や新しいコードを入力する時に適用されます。 値を調整し、ページ下部のプレビューペインを確認して、設定がコードにどのように影響するかを確認できます。
Space
このタブを使用して、さまざまなコード構成でスペースを挿入または削除する方法を構成します。 値を調整し、ページ下部のプレビューペインを確認して、設定がコードにどのように影響するかを確認できます。
このタブで設定するオプションは、次の場合に適用されます。
インデントと位置合わせ
このページの環境設定を使って、JetBrains Rider が特定のケースでコードをインデント・アライメントする方法を指定できます。 インデント グループでは、特定のケースでタブやインデント( オプションページで設定可能)の適用方法を定義できます。 複数の構成要素を整列させる グループでは、複数行にわたるコード構造のアライメント方法(長い行を改行するルールは オプションページで指定可能)を定義できます。
このタブで設定するオプションは、次の場合に適用されます。
Unreal Engine
このタブでは、 Unreal Engine プロジェクトの C++ コードに影響する 書式設定を調整できます。
このタブで設定するオプションは、次の場合に適用されます。