JetBrains Rider 2024.1 ヘルプ

C++ のコードスタイル支援

JetBrains Rider はあなたのコードをきちんときれいに保つための多くの機能を提供します。JetBrains Rider の他の機能の大部分と密接に連携しているため、特定のコードスタイルに従ってコードを生成したり既存のコードベースを変更したりできます。命名標準、フォーマット規則、その他のさまざまな小さな要素を含むコードスタイルは、非常に詳細なレベルに構成してチーム全体で共有できます。

他の言語と同様に、スコープを修正またはコードのクリーンアップを使用して、1 つのコマンドですべての C++ コードスタイル設定を目的の範囲に適用できます。

ビルトインコードクリーンアッププロファイルには C++ 固有のタスクが含まれていないため、新しいカスタムプロファイルを作成して有効にする必要があります。

コードフォーマットルールの管理と適用

コードスタイルの重要な側面は、コードのフォーマット方法、つまり、空白、タブ、改行を使用してコード要素を配置する方法、インデントにタブを使用するかどうかと方法、長い行を折り返すかどうかと方法などです。オン。

JetBrains Rider コードのフォーマットルールの広範なセットには、多数のベストプラクティスを考慮したデフォルト設定があります。フォーマットルールのすべての詳細を構成し、コードにルールを適用できます。これらのルールは、JetBrains Rider がコード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに適用されます。フォーマットルールは、現在の選択範囲、現在のファイル、ソリューション全体までのより大きなスコープの既存のコードにも適用できます。

JetBrains Rider は、共有設定のメカニズムを使用してフォーマット設定を保存しますエディター | コードスタイル | C++ グループのオプションページでフォーマットルールを設定できます。また、EditorConfig および Clang 形式ファイルにフォーマット設定を保存して共有することもできます。

ネーミングスタイル

JetBrains Rider は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象としています。各ルールには、複合語、アンダースコア、サフィックス、プレフィックスなどの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。

これらのルールは、JetBrains Rider がコード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレートを適用し、リファクタリングを実行するときに考慮されます。JetBrains Rider は、命名規則の違反を検出して修正するのにも役立ちます。必要に応じて、命名規則の自動チェックを構成または無効にできます

命名規則を編集

  1. Rider 設定 Ctrl+Alt+S で、エディター | コードスタイル | C++ に移動し、ネーミングタブを開きます。

  2. リストから目的のルールを選択します。

  3. ページの右側部分で、ルールの既存のスタイルを確認します。

  4. 既存のスタイルは許容できるが、このルールに他のスタイルを許可する場合は、追加をクリックします。1 つのルールに複数のスタイルがある場合、対応するシンボル名がこれらのスタイルの少なくとも 1 つと一致すると、JetBrains Rider はコードスタイル違反を報告しません。それ以外の場合、JetBrains Rider はコードスタイル違反を検出し、デフォルトスタイル (リストの最初のスタイル) に従ってシンボルの名前を変更することを提案します。デフォルトスタイルを変更するには、上へ移動ボタンと下へ移動ボタンを使用します。

  5. 特定のスタイルを設定するには、リストでスタイルを選択し、接頭辞、接尾辞を設定して、命名スタイルを選択します。

  6. 不要なスタイルを削除するには、リストからそのスタイルを選択し、除去をクリックします。

  7. 必要に応じて、このルールに関連付けられたコードスタイル違反の報告を無効にしながら、JetBrains Rider が他の命名ルール違反を検出できるようにすることができます。これを行うには、インスペクションを有効化するチェックボックスをオフにします。

  8. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

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

JetBrains Rider: Applying UE4 naming conventions

cv 修飾子の配置

JetBrains Rider を使用すると、cv-qualifiers生成コードに配置できます。JetBrains Rider オプションの言語とフレームワーク | C++ | コードスタイルページでは、型指定子の前後に cv 修飾子を置くかどうか、および const および volatile 修飾子の順序を指定できます。

ディレクティブスタイルを含める

JetBrains Rider オプションの言語 & フレームワーク | C++ | コードスタイルページでは、生成コードの include ディレクティブでパス区切り文字としてスラッシュを使用するかバックスラッシュを使用するかを指定できます。ヘッダーファイルで前方宣言を生成するかどうかを指定することもできます。

インクルードのソート

JetBrains Rider では、#include ディレクティブをソートし、既存のグループを再配置し、空白行で区切られた新しいグループを作成できます。

キャレットが #include ディレクティブ上にある場合、#include ディレクティブを並べ替えるサブメニューには 3 つのコンテキストアクションがあります。

#include ディレクティブを並べ替える

#include ディレクティブの並べ替えと再グループ化

このアクションは、すべての #include グループを 1 つにマージしてから、それをソートし、構成された設定に従って新しいグループに分割します。

JetBrains Rider C++: Sort and regroup #include directives

各 #include グループを個別に並べ替える

このアクションは、各グループ内の #include ディレクティブを個別にソートし、既存のグループ化を変更しません。

JetBrains Rider C++: Sort each #include group separately

現在の #include グループのみを並べ替える

このアクションは、キャレットがオンになっているグループをソートします。

JetBrains Rider 設定 Ctrl+Alt+S言語 & フレームワーク | C++ | コードスタイルページで順序付けルールを構成できます。

インクルードの並べ替えは、コードのクリーンアップでも適用できます。

デフォルトのポインタ初期化子のスタイル

0nullptrNULL を、ポインター初期化子の優先初期化子として指定できます(例: const char *foo = nullptr)。JetBrains Rider オプションの言語 & フレームワーク | C++ | コードスタイルページで設定を変更できます。

ファイルヘッダースタイル

コピーライト表示やその他の識別メッセージにファイルヘッダーを使用するのが一般的です。JetBrains Rider を使用すると、デフォルトのヘッダーテキストを構成し、それをソースファイルに自動的に挿入したり、それを使用して既存のファイルヘッダーを置き換えたりすることができます。

JetBrains Rider 設定または .editorconfig ファイル内 でファイルヘッダースタイルを構成し、それをファイルテンプレートで作成された新しいファイルに追加し、コードクリーンアップを使用して既存のファイルにファイルヘッダーを挿入または置換できます。

異なるチームメンバーが作成および編集したファイルが同じヘッダースタイルを持つようにするには、ファイルヘッダー設定をチームと共有します

関連ページ:

スコープを修正

ほとんどのクイックフィックスは、キャレットで現在の問題を修正できますが、中には (たとえば、未使用のディレクティブを削除する、フィールドを読み取り専用にする、冗長なキャストの除去など)、現在のファイル、現在のプロジェクト、ソリューション全体など、より大きな範囲で問題を自動的に見つけて修正できるものもあります。範囲内の修正を適用する:このような修正は、アクションリストの横に表示される小さな矢印で識別できます。範囲内の修正を適用する JetBrains Rider のインスペクションでハイライトされ...

コードのクリーンアップ

JetBrains Rider を使用すると、フォーマットやその他のコードスタイル設定を一括モードで適用して、1 つ以上のファイル、プロジェクト、ソリューション全体でコードスタイル違反を即座に排除できます。コードクリーンアッププロファイル:コードのクリーンアップには、ニーズに応じてさまざまな場合に適用できるさまざまな設定(プロファイル)があります。提供時の状態で使用可能な 3 つのデフォルトプロファイルがあります。コードのフォーマットのみを適用するビルトイン: コードの整形、コードのフォーマッ...

レイヤーベースの設定

Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...

フォーマットルールを構成する

フォーマットルールは非常に高いレベルの詳細に設定できます。例: 特定の演算子の周囲に空白を配置するか、入れ子になった文をインデントするかを定義できます。設定でコードフォーマットルールを構成するを押すか、メニューから(Windows および Linux)または (macOS) を選択します。ページを使用して、言語固有のフォーマットを構成します。これらのページでは、下部にあるプレビュー領域を使用して、JetBrains Rider が特定の環境設定をコードに適用する方法を表示できます。設定ダイアログで...

コード生成

JetBrains Rider は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のファイルで設計時コードインスペクションが有効になっている場合、JetBrains Rider は足りないメンバーを検出し、足りないメンバーを実装するために対応するクイックフィックスを提案します。コンテキストアクションとコードテンプレートを使用すると、コードを生成するその...

フォーマットルールを適用する

編集および貼り付けられたコードの自動フォーマット:エディターでコードを入力すると、JetBrains Rider はセミコロンを入力するとすぐに式を再フォーマットし、閉じ括弧を入力するとすぐにコードのブロックを再フォーマットします。必要に応じて、JetBrains Rider 設定のページでこれらの種類の自動フォーマットを無効にすることができます。JetBrains Rider では、コードを貼り付けるときにフォーマット規則を自動的に適用することもできます。デフォルトでは、貼り付けられたコー...