JetBrains Rider 2026.1 Help

C++ /CLI サポート

C++/CLI は、Microsoft による C++ 言語拡張のセットであり、マネージドコードとネイティブコード間の容易な相互運用性を実現するために設計されています。 ジェネリクス、値クラスと参照クラス、ハンドル、追跡参照、インターフェース、その他の構文追加が含まれています。

コード解析ナビゲーションと検索コーディング支援など、C++ の主な機能に慣れている場合でも、JetBrains Rider では C++/CLI 固有のケースに対応した追加サポートも利用できます。

検索とナビゲーション

C++/CLI は言語間のブリッジであるため、JetBrains Rider は相互運用性を高めるクロス言語ナビゲーション機能を提供します:

派生シンボルに移動は、C++ /CLI プロパティ内の get/set 関数および C++ /CLI イベント内の 追加/remove 関数でも機能します。

Go to Derived in C++/CLI

コード解析

JetBrains Rider には、C++/CLI 固有の言語構造のためのインスペクションのセットが含まれています:

  • インターフェース メンバーに virtual 指定子がない場合や、 public アクセシビリティが設定されていない場合は、警告が表示されます。

    メソッドはパブリックで仮想でなければなりません
  • JetBrains Rider はメモリの割り当て方法を検査し、ターゲット型が無効な場合、 gcnewnew に置き換えるクイックフィックスを提案します。 また、 newgcnew に置き換える際にも対応しています。

    ネイティブ型で gcnew を使用することはできません
  • JetBrains Rider は、マネージクラスやインターフェースで C++ の final 指定子を使おうとした際、代わりに sealed にするためのクイックフィックスと共に警告します。

    ファイナルをシール付きに交換

C++ /CLI 用の便利なクイックフィックスもいくつか用意されています。 たとえば、C++ /CLI の safe_cast 演算子は、基底クラスから派生クラスへのダウンキャスト時に特に便利です。 safe_cast は動的なチェックを行い、変換に失敗した場合は InvalidCastException をスローします。 クイックフィックスを使って C 形式のキャストを safe_cast に変換できます。

C++ キャストの代わりに C スタイルキャストを使用

インレイヒント

パラメーター名型名ヒントに加えて、JetBrains Rider では C++/CLI のボクシング変換によるマネージ ヒープへの割り当てを示す 型変換ヒントも提供されます。 標準変換へのそのようなヒントはデフォルトで無効化されていますが、JetBrains Rider 設定 の エディター | インレイヒント | C++ | 型変換のヒント ページ Ctrl+Alt+S で有効化できます。

C++ /CLI のボクシング変換

フォーマットスタイル

追加のフォーマット設定で、C++ /CLI ジェネリック制約のスタイルを設定できます。お好みのインデントを選択したり、必要に応じてスペースを追加したり、強制的に改行(エディター | コードスタイル | C++ )を挿入したりできます。

generic <class ItemType> where ItemType:IItem ref class Stack {};
generic <class ItemType> where ItemType : IItem ref class Stack {};

後置補完

一部の C++ 置テンプレートは、そのコンテキストで呼び出されたときに C++ /CLI コードを生成するように特別に設計されています。

  • .gcnew を使用して、型のインスタンス化式を生成します。

  • .safe_cast を使用して、式を .safe_cast で囲みます。

既知の問題と制限

2026 年 6 月 12 日