C++ のデバッグ支援
ReSharper を使用すると、エディターでのデバッグ経験を向上させることができます。
インライン値
C#、VB.NET、C++ コードのデバッグ中に実行を一時停止すると、ローカル変数の値、現在の行式、関数の戻り値がエディターの対応するコード行の横に表示されます。
この機能は、デバッグセッション中に即座にフィードバックを提供します。つまり、多くの場合、ウォッチ式または自動ツールウィンドウを参照する必要はありません。
インライン値はデフォルトで有効になっていますが、ReSharper オプション Alt+R, O の ページを使用して、表示する値の種類を設定できます。

ReSharper は、副作用のない式のみを慎重に評価します。現時点では、式の評価は、参照、定数、メンバーアクセス、組み込みの添え字演算子に限定されています。std::vector
および std::array
の添え字演算子も例外として評価されます。
ReSharper は、Visual Studio デバッガーエンジンを使用してインライン値を計算し、式を評価することに注意してください。つまり、ユーザーが指定した視覚化ルールを持つ Natvis ファイルが自動的にサポートされます。
検索可能なデータヒント
ReSharper は、オプションで、Visual Studio データチップを独自の DataTips で置き換えることができます。これには、多くの違いがあります。
現在中断されている実行コンテキスト内の特定の値を検索できます。これを行うには、フォーカスがデータヒントにあるときに入力を開始するだけです。検索では、展開されたノード内の値のみが検索されます。
データヒントは、マウスポインタを削除したときではなく、DataTip の外側のどこかをクリックすると消えます。
このクラスのオブジェクトのカスタムプレゼンテーション文字列を作成するために使用されるクラスのメンバーをマークできます。これを行うには、DataTip でタイプを展開し、目的のデータメンバーを右クリックしてハイライトプロパティを選択します。
Visual Studio DataTips の代わりに ReSharper DataTips を使用するには、ReSharper オプション Alt+R, O の ページで対応するオプションを有効にします。
ステップフィルター
なぜステップフィルターが必要なのでしょうか? 以下の図は、ほとんどすべてを説明しています。

関数の中には、非常に単純なものもあれば、非常によくテストされているものもあるため、ステップインする必要がまったくないものもあります。しかし問題は、デバッガーはどの関数がデバッグする価値があるのかないのかを判断できないため、ステップインは途中で関数を見落とすことがないということです。
ReSharper を使用すると、ステップフィルター(ステップ実行時に何をスキップするかをデバッガーに指示する関数マスクのリスト)を管理できます。デフォルトでは、このリストには多くのライブラリ関数が含まれており、独自の関数マスクを使って拡張することができます。
カスタムステップフィルターとデフォルトフィルターの変更は階層化設定のメカニズムを使用して保存されます。つまり、ソリューションチーム共有設定レイヤーに保存されたステップフィルターの変更はチームメイトと共有できます。
ReSharper オプション Alt+R, O の ページでステップフィルターを調べて構成できます。
デバッグ中は、フィルターに関数をすばやく追加できます: その関数で Alt+Enter を押すと、フィルターに追加されます。

デフォルトでは、このアクションはスマート保存ロジックを使用してフィルターを保存しますが、アクションのサブメニューを使用して、フィルターを保存する設定レイヤーを選択することもできます。
Visual Studio には、C++ マイコードのみの一部である C++ のステップ動作をカスタマイズするための組み込みの方法があることを覚えているかもしれません。ただし、IDE からこの機能を構成するためのユーザーインターフェースは提供されていないため、.natstepfilter XML 構成ファイルを手動で編集して、既存のルールを変更したり、新しいルールを追加したりする必要があります。さらに、構成ファイルはグローバルであるため、ソリューション固有のルールを追加する方法はありません。現時点では、ReSharper C++ がインストールされている場合、Visual Studio による .natstepfilter ファイルのサポートは無効になることに注意してください。
関連ページ:

ブレークポイントを移動する
ReSharper を使用すると、ソリューション内のブレークポイント / トレースポイントにすばやく移動し、グループ化、検索、プレビュー、シンボル名を備えた専用ツールウィンドウですべてのブレークポイントを調べることができます。ブレークポイントに移動を押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。開いたブレークポイントポップアップに、ソリューションで定義されたすべてのブレークポイントが表示されます。以下のいずれか 1...

検索結果を分析する
ReSharper のナビゲーション操作と検索操作で複数の結果が得られた場合、これらの結果を検索結果ウィンドウに表示することができます。検索結果ウィンドウは、検索結果を分析するためのさまざまな方法を提供します。デフォルトの動作を変更して、見つかった単一の使用箇所も検索結果ウィンドウに表示されるようにすることができます。これを行うには、ReSharper オプション Alt+R, O のページで使い方: 1 つだけの結果がある場合は .... チェックボックスをオフにします。一部のアクション、たとえば使...

ReSharper 設定の管理と共有
ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。設定の特定のサブセットを VCS に保持することにより、チーム内の設定を同期できます。ReShar...

Clang 形式の使用
C++ ファイル (および部分的に JavaScript および TypeScript ファイル) では、ReSharper は Clang 形式で定義されたフォーマットスタイルをサポートします。デフォルトでは、Clang-Format 構成ファイルは、フォーマットスタイル設定のソースとして自動的に使用されます。Clang フォーマットとは何ですか ? ReSharper はどのようにサポートしていますか ?:Clang-Format は、広く使用されている C++ コードフォーマッタです。YAM...

C++ でのナビゲーションと検索
名前によるナビゲーション:ReSharper を使用すると、いくつかのキーストロークで任意のコードアイテムまたはファイルを表示できます。ナビゲーションの範囲には、ソリューション全体のシンボルとファイル、標準ライブラリとライブラリのすべてのシンボルとファイル、外部依存関係が含まれます。ソリューション内のコードアイテムを名前で検索するすべての検索結果への統合アクセスを使用するには、を押して、入力を開始し、入力に一致するソリューション内のコード項目を見つけることができるポップアップを表示します。検