JetBrains Rider 2026.1 Help

C++ のコーディングアシスタンス

JetBrains Rider のコーディング支援機能のほとんどは、C++ でもサポートされています。 これらの機能に関する詳細情報は、 コーディング支援 セクションの対応するトピックにあります。

このトピックでは、C++ のコーディング支援機能の使用例をいくつか見つけることができます。

デフォルトでは、 コードインスペクションクイックフィックスコンテキストアクションはすべてのソリューションファイルで利用できます。 必要に応じて、JetBrains Rider 設定 Ctrl+Alt+S言語 & フレームワーク | C++ | インスペクション ページにある ソリューション外部のファイルでインスペクション、クイックフィックス、コンテキストアクションを有効にする チェックボックスを使用して、ソリューションから参照される外部ファイルでこれらの機能を有効化できます。

カスタムコンパイラーツールチェーンを使用する場合、コーディング支援を向上させるために追加のコンパイルプロパティを提供すると便利です。 コンパイルプロパティを指定するには、ソリューションエクスプローラーでプロジェクトを選択し、プロパティの ReSharper セクションに移動します。 追加のインクルードディレクトリを指定したり、プリプロセッサー定義を追加したり、言語標準を設定したりできます。

ReSharper C++: 追加のプロジェクトプロパティ

設定は、プロジェクトファイルの横にある .vcxproj.DotSettings ファイルに保存されます。 これらの追加のプロパティはコンパイルに影響を与えないことに注意してください。

コード補完

自動および基本補完

C++ ファイルでは、コードを記述するときに 自動および 基本的な Ctrl+Space 補完を使用できます。 例: 別のネームスペースから取得した列挙型メンバーをすばやく追加できます。

C++ の自動補完

選択した完了項目には、構文がハイライトされた署名とドキュメントを含むポップアップが表示されます。 必要に応じて、このポップアップは、JetBrains Rider 設定 の Ctrl+Alt+Sエディター | 一般 | コード補完 ページで パラメーター情報ポップアップを _ ms で表示 チェックボックスをオフにすることで無効化できます。

C++ での基本補完

インポートシンボル補完

使用するシンボルが対応する #include で現在のファイルにインポートされていないが、標準ライブラリまたはソリューションの別の場所で定義されている場合、 Ctrl+Alt+Space を押すと補完候補でこのシンボルをすばやく見つけることができます。

JetBrains Rider: C++ でのシンボル補完のインポート

オプションで、自動補完と基本補完の候補リストにインポートシンボルの候補を含めるには、JetBrains Rider 設定 の Ctrl+Alt+S言語 & フレームワーク | C++ | コード補完 ページで 基本補完でインポート項目を表示する を選択してください。

これにはパフォーマンスの低下が伴うことに注意してください(JetBrains Rider が補完リストをビルドするたびに、ソリューション内のすべてのシンボルを調べて一致させる必要があるため)、そのためデフォルトでは無効化されています。

ドット / 矢印補完ヘルパー

メソッドを呼び出すときは、いつでもドット または矢印 -> を入力して、補完リストで使用可能なすべてのメソッドを取得できます。 /-> に一致しないメソッドは灰色で表示されます。 このような方法を選択すると、 /-> は自動的に修正されます。

完了時にドットを矢印に置き換える

生成補完

生成補完 の提案も利用できます。 例: オブジェクトのメンバー関数宣言を呼び出すと ...

C++ の生成完了

JetBrains Rider は次の関数を生成します:

C++ の生成完了

後置補完

C++ での後置補完は、C# 拡張メソッドに非常によく似ています。 式の後にドット または矢印 -> を入力すると、JetBrains Rider はその式を最初のパラメーターとして受け入れるフリー関数を提案します。 提案を受け入れると、JetBrains Rider はその式が最初の引数として渡されるようにコードを書き換えます:

JetBrains Rider C++: Postfix templates

後置補完機能には、適切なメソッドを探す代わりに、頻繁に使用される言語構造で式をすばやくラップできる 後置テンプレートも含まれています。

コード補完のフリー機能

C++ コーディングの一般的な方法の 1 つは、メンバー関数よりも非メンバー非フレンド関数を優先することです。 これは、カプセル化を増やし、クラスインターフェースをできる限り最小限に抑える優れた方法です。 式の後にドット または矢印 -> を入力すると、最初のパラメーターとして式を受け入れる自由関数が、メンバー関数の後の補完リストで提案されます。

ReSharper C++: Free functions in code completion

補完候補にフリー関数を含めたくない場合は、JetBrains Rider 設定 の Ctrl+Alt+S言語 & フレームワーク | C++ | コード補完 ページで該当するチェックボックスをオフにしてください。

依存コード内のコード補完

JetBrains Rider は自動的にデフォルトテンプレート引数を使用して、依存コード内の補完候補を提示します。 テンプレート本体の内側に入力するとき、パラメーターの型情報がないとコード補完が利用できないことがあります。 ただし、デフォルト引数を持つテンプレートパラメーターの場合、JetBrains Rider はそれらのデフォルト引数に基づいて補完候補を提示します。

JetBrains Rider C++: 依存コード内のコード補完

インポートアイテムのコード補完

インポートシンボル補完が有効化されている場合、JetBrains Rider の補完リストには現在のファイルに含まれていないヘッダーからの項目も提案されます。 クラスが現在のファイルに含まれていない場合、補完リストでは include ディレクティブの挿入か事前宣言の追加、いずれかのオプションが提案されます。 両方のオプションを含むコンテキストメニューがデフォルトで表示されますが、JetBrains Rider 設定 の 言語 & フレームワーク | C++ | コード補完 ページでデフォルト動作を変更できます Ctrl+Alt+S

JetBrains Rider C++: code completion for an import item

ステートメントの補完

Complete Statement 機能は、必要な構文要素を挿入し、次のステートメントの入力を開始できる位置にキャレットを配置します。 これにより、他の多くの小さなアクションを実行する代わりに、 Ctrl+Shift+Enter ショートカットを使用できるようになります。 例: このショートカットは中括弧とセミコロンを自動的に挿入し、本文の書き込みに進むことができる場所にキャレットを配置します。

JetBrains Rider C++: complete statement

構文ハイライトとツールチップ

デフォルトで、JetBrains Rider は C++ 構文の拡張ハイライトを構成可能な色で提供します。 必要に応じて、JetBrains Rider オプションの コード編集 | C++ | インスペクション ページで無効化できます。 異なる方法でハイライトできる識別子の種類は 20 種類あります。 Visual Studio オプション(ファイル | 設定 | エディター | カラースキームの切り替え | C++ )でいつでも色とフォントを変更できます。

C++ 識別子の構文ハイライトの設定
C++ 識別子の構文ハイライトの設定

JetBrains Rider はコード要素用の Visual Studio のツールチップを独自のツールチップに置き換えます。独自のツールチップにはハイライト構文、メソッドやフィールドのシグネチャー、フォーマット済み XML や Doxygen コメントが表示されます:

JetBrains Rider: C++ のエディターツールチップ

パラメーター情報

関数呼び出しを書いたり調べたりするときは、JetBrains Rider はその関数のすべてのオーバーロードで許可されている引数の詳細を表示するのに役立ちます。 ポップアップには、関数の XML ドキュメントから取得したパラメーターと簡単な説明 (利用可能な場合) を含むすべての公開署名が表示されます。

パラメーターを入力すると、JetBrains Rider は入力されたパラメーターと互換性のある次のシグネチャーを自動的にハイライトし、適用できないシグネチャーはグレー表示します。 既存の関数呼び出しの代替シグネチャーを調べるには、関数の括弧内にキャレットを置き、 Ctrl+P を押すか、メインメニューから 表示 | パラメーター情報 を選択します。

JetBrains Rider C++: パラメーター情報

パラメーター情報ツールチップには、集計の初期化を実行するときに集計クラスのメンバーに関する詳細も表示され、ユーザー定義のバイナリ演算子、削除された関数、暗黙的に生成された関数の情報も表示されます。

依存コードでは、テンプレート引数のドキュメントコメントからテンプレートパラメーターの説明を取得し、デフォルトのテンプレート引数を使用して依存コードのパラメーターに関する情報を提供します。

JetBrains Rider C++: 従属コード付きパラメーター情報

パラメーター情報ツールチップは、JetBrains Rider 設定 の Ctrl+Alt+Sエディター | 一般 | コード補完 | パラメーター情報 ページで設定できます。

コードを再配置する

コードの再配置は、コード要素をすばやく移動し、現在のスコープを拡大または縮小します。 コードを再配置するには、移動したいコード要素や選択範囲の上で Ctrl+Shift+Alt を押し、その後いずれかの方向キーを押します。 最初に何かを選択せずにこのコマンドを呼び出すと、可動要素が自動的に選択されます。

左に移動右に移動 には、次の 2 つのモードがあります。

  • 通常は単一行で記述される要素を再配置します(複数行でも機能します)。 中括弧でくくられたイニシャライザーリストの要素や関数・ラムダのパラメーターおよび引数などで、 左に移動右に移動 を利用できます。

    JetBrains Rider C++: Rearrange parameters
  • ステートメントや宣言を直後の領域(右に移動 )や現在の領域の外側(左に移動 )に移動できます:

    JetBrains Rider C++: Move a line into the following region

上へ移動 および 下へ移動 コマンドは、特定のスコープ内の要素を、このスコープ内の他の要素に対して上下に、または隣接するスコープ間で再配置します。 上へ移動 コマンドと 下へ移動 コマンドは、ステートメントと宣言、switch ステートメントのセクション、列挙子、try-catch ステートメント内の catch セクション、条件または if ステートメントのブランチなどで使用できます。

JetBrains Rider C++: Rearrange if statements

中括弧を上下に移動して、現在の複合ステートメント、タイプ、ネームスペースを拡大または縮小することもできます。

JetBrains Rider C++: Change the namespace scope

該当するケースの完全なリスト:

左に移動して右に移動

上に移動し、下に移動

  • 現在の範囲外で次の範囲内のステートメントと宣言

  • 代入式、バイナリ式、フォールド式、条件式のオペランド

  • switch ステートメントのケースラベル

  • 添え字式または配列指定子のインデックス

  • 関数 / ラムダパラメーターと引数

  • マクロパラメーターとマクロ呼び出し引数

  • テンプレートのパラメーターと引数

  • 宣言における宣言子と構造化バインディング

  • 基本型

  • ブレース初期化子リストの要素

  • 例外仕様のタイプ

  • Doxygen HTML 属性

  • C++ /CLI ジェネリクス制約の項目

  • ラムダキャプチャー

  • メンバー初期化子

  • 使用宣言の一部

  • 周囲のスコープ内のステートメントと宣言

  • enum 宣言内の列挙子

  • 複合 if ステートメントのブランチ

  • ネストされた if ステートメントの条件

  • a の本文内の要件は、式を要求します

  • if-else、try-catch ステートメントの 1 つの句からのステートメント、または 1 つのスイッチセクションから別のセクションへのステートメント

  • ステートメントと宣言での中括弧の開閉 (貪欲ブレース)

  • switch ステートメント内のセクションを切り替える

  • try-catch ステートメント内の Catch セクション

  • Doxygen コマンド

  • C++ /CLI の一般的な制約

コンテキストアクション

JetBrains Rider は C++ コードをターゲットとする一連の コンテキストアクションを提供します。 これらのアクションの全リストは、JetBrains Rider 設定 の エディター | コンテキストアクション | C++ ページで確認できます。 必要に応じて、このページを使用していくつかのアクションを無効にすることもできます。

現在のキャレット位置でコンテキストアクションが利用可能になると、JetBrains Rider は対応する アクションインジケーター ThemedIcon.ContextAction.Screen.(グレー).png をキャレットの左側に表示します。 ただし、JetBrains Rider が現在のキャレット位置で複数のコンテキストに応じた機能を提供する場合もあります。 この場合、最も優先順位の高いアクションに対応するアクションインジケーターが表示され、他のすべてのアクションはアクションインジケーターをクリックするか Alt+Enter を押して アクションリストを展開した際にのみ表示されます。コンテキストアクションは優先度が最も低いため、アクションリストの最下部に表示されることが多いです。

C++ のコンテキストアクションの例をいくつか示します。

列挙型を文字列に変換する (enum-to-string ヘルパーを生成する)

このコンテキストアクションは、列挙子を対応する文字列に変換する特定の列挙型のヘルパー関数を生成します。

例: 次の列挙型でこのアクションを起動した場合

enum class Suit { Diamonds, Hearts, Clubs, Spades };

JetBrains Rider は次の関数を生成します:

const char* to_string(Suit e) { switch (e) { case Suit::Diamonds: return "Diamonds"; case Suit::Hearts: return "Hearts"; case Suit::Clubs: return "Clubs"; case Suit::Spades: return "Spades"; default: return "unknown"; } }

必要に応じて、JetBrains Rider が生成に使用する enum_to_string ライブテンプレートを 編集することで、生成される関数をカスタマイズできます。 例: ストリーム出力演算子のオーバーロードを生成するようにテンプレートを構成できます。

std::ostream& operator <<(std::ostream& out, Suit e) { switch (e) { case Suit::Diamonds: return out << "Diamonds"; case Suit::Hearts: return out << "Hearts"; case Suit::Clubs: return out << "Clubs"; case Suit::Spades: return out << "Spades"; default: assert(false); return out << "unknown"; } }

不足している case 文を生成する

enum を切り替えるときに、すべての case 文を手動で記述するのではなく、欠落している case 文をすべて生成する context アクションを使用することができます。

C++ での欠損症例の生成

しなければならないことは、各ステートメントに必要なロジックを書くことだけです。

C++ での欠損症例の生成

ネストした 'if' ステートメントをマージ

JetBrains Rider は、ネストされた 'if' ステートメントをコンテキストアクションでマージできます:

C++ でネストした 'if' ステートメントをマージする

実装を生成する

JetBrains Rider は、関数やメソッドのスタブ実装を自動で作成できます。 常にインライン実装を生成でき、関数がヘッダーファイルに定義されていて対応するソースファイルがある場合、そのソースファイルに実装を生成することもできます。

関数の実装の生成

実装をクラススコープから移動する

JetBrains Rider を使用すると、関数やメソッドの実装を、ヘッダーから対応するソースファイルが存在すれば、そちらへ移動できます。 このコンテキストアクションを適用した後、定義は元の場所に残り、実装はソースファイルに移動されます。 エディターのコンテキストもソースファイルに切り替わります。

実装をクラススコープからソースファイルに移動する

コンテキストアクションを使用して、現在の選択範囲内のすべての実装を移動することもできます。

文書エンティティ

このコンテキストアクションを使用すると、C++ シンボルのドキュメントコメントを生成できます。 必要に応じて、JetBrains Rider が生成に使用する doc ライブテンプレートを 編集 して、コメントスタブをカスタマイズできます。

JetBrains Rider: generating documentation comments

ペアアイテムをハイライトする

JetBrains Rider は、ペアの項目のどちらかにキャレットを置くと、さまざまな一致する項目をハイライトします:

  • マッチするデリミタ (()[]{}<>)

  • 一致するマクロ(例: BEGIN_NAMESPACE/END_NAMESPACE

  • printfboost::format のフォーマット指定子と引数のマッチング

2026 年 6 月 12 日