ReSharper 2020.3 ヘルプ

C++ / CLI サポート

標準 ISO C++(英語) 構文に加えて、ReSharper は CLR 参照用の ^、マネージヒープへの割り当て用の gcnew など、Microsoft の C++ / CLI の仕様(英語)構文もサポートしています。コードインスペクションコーディング支援ナビゲーションと検索などの従来の機能に加えて、注目に値するいくつかの機能があります。

  • 言語間のナビゲーションは、C++ / CLI と C# / VB.NET の間で機能します。ただし、#using ディレクティブ(英語)およびクロス言語リファクタリングはまだサポートされていません。

  • Alt+Insert を使って .NET Equals() および GetHashCode() を生成できます。

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

  • ReSharper はメモリの割り当て方法をインスペクションし、ターゲットタイプが無効な場合に gcnewnew に置き換えるためのクイックフィックスを提案します。また、newgcnew に置き換える場合にも機能します。

  • 別のインスペクションは、マネージクラスまたはインターフェースで C++ final 指定子を使用しようとすると警告を発し、代わりにクイックフィックスを使用して sealed にします。

  • クイックフィックスを使用して、C スタイルのキャストを safe_cast に変換できます。

  • C++ / CLI コードから派生したシンボルを検索する場合、ReSharper は C++ / CLI 内のシンボルに加えて C# コード内のシンボルを検索します。

  • ベースシンボルへ移動および派生シンボルに移動は、インポートされた CLR エンティティでも機能します。

関連ページ:

コードインスペクションでコードの問題を見つける

ReSharper の静的コード分析はコードインスペクションと呼ばれ、サポートされているすべての言語のコードに 2300 を超える個別のコードインスペクションを適用することによって実行されます。コードの問題はいくつかの方法で見つけることができます:ReSharper は、エディターで開かれたすべてのファイルについて、設計時に自動的にコードの問題を見つけてハイライトします。設計時コードインスペクションスコープは、ソリューション全体の分析を使用してソリューション全体に拡張できます。この場合、ソリュー...

等価メンバーを生成する

| 等価メンバーオブジェクトクラスでの等式メソッド(つまりおよび)および等式演算子(つまりおよび)の実装により、参照の等式が保証されます。作成するタイプ(最終的にから派生するため、デフォルトで参照の等価性を実装します)では、このタイプのオブジェクトの値の等価性を実装し、ハッシュコードをハッシュ目的の一意のオブジェクト識別子として使用することができます。この場合、タイプの等式メソッドと演算子をオーバーライドする必要があります。ReSharper を使用すると、等価メンバーを生成するコマンドを使用して...

C++ のユニットテスト支援

ReSharper は、Google C++ テストフレームワーク、C++ テストフレームワーク、Catch、Boost.Test フレームワーク(v: 1.59 以上)の単体テスト、および Visual Studio での doctest 単体テストフレームワークの検出、実行、デバッグを支援します。64 ビットの C++ テストバイナリをデバッグすると、ReSharper はプロセス出力を読み取ることができず、テストのステータスは確定的ではありません。ReSharper を使用すると、単体テスト...