ReSharper 2019.1ヘルプ

C++のデバッグ支援

ReSharperを使用すると、エディターでのデバッグ経験を向上させることができます。

インライン値

C#、VB.NET、またはC++コードのデバッグ中に実行を中断すると、ローカル変数、現在の行の式、および関数の戻り値がエディター内の対応するコード行の横に表示されます。
この機能は、デバッグセッション中に即座にフィードバックを提供します。つまり、監視式または自動ツールウィンドウを参照する必要がないことがよくあります。

インライン値はデフォルトで有効になっていますが、ReSharperオプションのツール | デバッガーページを使用してどの種類の値を表示するかを設定できます。

ReSharperは副作用のない式のみを評価するように注意しています。現時点では、式の評価は参照、定数、メンバーアクセス、および組み込みの添字演算子に限定されています。 std::vector および std::array の添字演算子も例外として評価されます。
ReSharperは式を評価するためにVisual Studioデバッガエンジンを使用してインライン値を計算することに注意してください。つまり、ユーザ提供の視覚化規則を持つナチス(英語)ファイルは自動的にサポートされます。

検索可能なデータヒント

ReSharperは、オプションで、Visual Studioデータチップ(英語)を独自のDataTipsで置き換えることができます。これには、多くの違いがあります。

  • 現在中断されている実行コンテキスト内の特定の値を検索できます。これを行うには、フォーカスがデータヒントにあるときに入力を開始するだけです。検索では、展開されたノード内の値のみが検索されます。

  • データヒントは、マウスポインタを削除したときではなく、DataTipの外側のどこかをクリックすると消えます。

  • このクラスのオブジェクトのカスタムプレゼンテーション文字列を作成するために使用されるクラスのメンバーにマークを付けることができます。これを行うには、データヒントのタイプを展開し、目的のデータメンバーを右クリックし、強調表示プロパティーを選択します。

    ReSharper DataTips: Revealing values for debugged objects

Visual Studio DataTipsの代わりにReSharper DataTipsを使用するには、ReSharperオプションのツール | デバッガーページで対応するオプションを有効にします。

ステップ・フィルター

なぜステップフィルタが必要ですか?以下の図は、ほとんどすべてを説明しています。

ReSharper: Why do you need step filters?

いくつかの機能は、非常にシンプルであるか、または非常によくテストされているため、ステップインする必要はありません。しかし、問題は、デバッガがどの機能がデバッグに適しているのか、どのデバ゗ンが機能していないのかを知ることができないため、ステップ・インは途中で機能を失わないことです。

ReSharperを使用すると、ステップフィルタ(ステップ実行時に何をスキップするかをデバッガに指示する関数マスクのリスト)を管理できます。デフォルトでは、このリストには多くのライブラリー関数が含まれており、独自の関数マスクを使って拡張することができます。

カスタムステップフィルタとデフォルトフィルタの変更は階層化設定のメカニズムを使用して保存されます。つまり、ソリューションチーム共有設定レイヤーに保存されたステップフィルタの変更はチームメイトと共有できます。

ReSharperオプションのツール | デバッグ | C++ページでステップフィルタを学習および設定することができます。

デバッグ中は、フィルタに関数をすばやく追加できます: その機能で Alt+Enter を押すと、フィルタに追加されます:

ReSharper: Adding a step filter for a function from the editor.

デフォルトでは、このアクションはスマートセーブロジックを使用してフィルタを保存しますが、アクションのサブメニューを使用してフィルタを保存する設定レイヤーを選択することもできます。

Visual Studioには、C++のステップ動作をカスタマイズするための組み込みの方法があります。これはC++ちょうど私のコード(英語)の一部です。ただし、IDEからこの機能を設定するためのユーザインターフェースは提供されていないため、既存の規則を変更したり新しい規則を追加したりするには、.natstepfilter XML設定ファイルを手動で編集する必要があります。さらに、構成ファイルはグローバルであるため、ソリューション固有の規則を追加する方法はありません。ReSharper C++がインストールされている場合、現時点でVisual Studioの .natstepfilter ファイルのサポートは無効になっています。

最終更新日: 2019年6月7日

関連ページ:

ブレークポイントの移動

ReSharperを使用すると、ソリューション内のブレークポイント/トレースポイントにすばやくジャンプし、グループ化、検索、プレビュー、およびシンボル名を備えた専用ツールウィンドウですべてのブレークポイントを調べることができます。検索結果ウィンドウのブレークポイントを表示、切り替え、有効/無効にする...

検索結果の分析

ReSharper | Windows | 検索結果ReSharperのナビゲーション操作と検索操作で複数の結果が得られた場合、これらの結果を検索結果ウィンドウに表示することができます。検索結果ウィンドウは、検索結果を分析するためのさまざまな方法を提供します。必要に応じて、見つかった単一の使用箇所が...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

Clang形式の使用

C++のサポートは、ReSharper C++(ReSharperと一緒に、またはReSharper Ultimateと別々にまたは並行してインストールできる)の専用製品で使用できます。バージョン2017.2以降、C++ファイル(およびJavaScriptとTypeScriptファイルの一部)では、...

C++でのナビゲーションと検索

C++のサポートは、ReSharper C++(ReSharperと一緒に、またはReSharper Ultimateと別々にまたは並行してインストールできる)の専用製品で使用できます。名前によるナビゲーション:ReSharperを使用すると、いくつかのキーストロークで任意のコードアイテムまたはファ...