ガターマークを使用して継承階層を移動する
ソリューションの他の場所にベースシンボルまたは継承があり、アセンブリを参照しているタイプおよびタイプメンバーの場合、ReSharper は、継承階層を上下に移動できるガターアイコンを表示します。
次のアイコンは、さまざまな場合のベースシンボルと継承を示します。
| インターフェースまたはインターフェースメンバーには実装があります。これらの実装に移動できます。 |
| クラスに派生クラスがあるか、クラスメンバーが他の場所でオーバーライドされています。これらの継承とオーバーライドに移動できます。 |
| メンバーは、ベースタイプから別のメンバーを非表示にします。非表示のメンバーに移動できます。 |
| メンバーは 1 つのメンバーを非表示にし、継承階層から別のメンバーを実装します。非表示のメンバーとオーバーライドされたメンバーの両方に移動できます。 |
| タイプまたはタイプメンバーはインターフェースを実装します。インターフェースタイプまたはメンバーに移動できます。 |
| メンバーは、デフォルトの実装を持つインターフェースメンバーを実装し、そこに移動できます。 |
| クラスが別のクラスから継承されているか、クラスメンバーが仮想メンバーまたは抽象メンバーをオーバーライドします。基本クラスまたはメンバーに移動できます。 |
| クラスはインターフェースを実装し、基本クラスから継承します。または、メンバーは、インターフェースメンバーを実装する仮想メンバーまたは抽象メンバーをオーバーライドします。オーバーライドおよび実装されたタイプまたはメンバーに移動できます。 |
マウスを合わせると簡単な概要が表示され、アイコンをクリックして移動できます。ベースシンボルまたは継承シンボルが 1 つしかない場合、ReSharper はそのシンボルに直接移動します。結果が複数ある場合は、リストからターゲットを選択できます。ターゲットが 1 つしかない場合でもリストを表示する場合は、ReSharper オプション Alt+R, O の ページでベース / 継承に移動: 結果が 1 つだけの場合は、リストを表示せずに移動しますチェックボックスをオフにします。
キーボードを使用する場合は、ガターマークのある行にキャレットを置き、Alt+Enter を押して、メニューからナビゲーションアクションを選択します。または、専用のナビゲーションコマンドを使用することもできます。
ベースシンボルへ移動 Control+U は、基本タイプまたはメンバーに移動します。
派生シンボルに移動 Control+Shift+Alt+B は、タイプまたはメンバーのすべての派生シンボルをリストし、それらの 1 つに直接移動します。
実装に移動 Control+Shift+Alt+B は、継承階層の中間ステップをバイパスする型とメンバーの実際の実装を検索します。
Visual Studio 継承マージン
バージョン 16.10 以降、Visual Studio は、継承マージンの独自の実装(英語)を提供します。これは、ReSharper 機能に似ていますが、いくつかの小さな違いがあります。例: Visual Studio 継承マージンには、タイプがベースと派生の両方である場合の追加のアイコンがありますが、メンバーを非表示にするためのアイコンは表示されず、ブレークポイントなどに干渉します。
デフォルトでは、ReSharper は Visual Studio 継承マージンを非表示にし、ガターに独自のアイコンを表示します。Visual Studio 継承マージンまたはその両方を使用する場合は、ReSharper オプション Alt+R, O の ページの継承マージンのオプションを使用します。
パフォーマンスに関する考慮事項
型またはメンバーに継承があるかどうかを調べ、対応するガターマークを表示するには、ReSharper でいくつかの計算を実行する必要があります。これらの計算はほとんどの場合、効率的に実行され、パフォーマンスに影響はありませんが、大規模な継承階層と弱いハードウェアの組み合わせにより、パフォーマンスが低下する可能性があります。このような場合は、ReSharper オプション Alt+R, O の ページで実装およびオーバーライドされたタイプとメンバーのガターナビゲーションマークを表示するチェックボックスをオフにして、複雑な計算を回避し、パフォーマンスを向上させることができます。
一方、ベースタイプまたはメンバーのオンザフライ検出は、パフォーマンスの面ではるかに安価です。他のタイプまたはメンバーを実装またはオーバーライドするタイプおよびメンバーの階層マークは、このオプションでは無効になりません。
この機能は、次の言語とテクノロジーでサポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。
関連ページ:
ベースシンボルへ移動
このコマンドを使用すると、継承階層を上に移動して、現在のシンボルの基本型またはメソッドに移動できます。このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウ、その他のツールウィンドウから呼び出すことができます。派生シンボルに移動および実装に移動コマンドを使用すると、反対方向のナビゲーションを使用できます。ベースシンボルに移動するキャレットをエディターのシンボルに配置するか、ツールウィンドウでシンボルを選択します。を押すか、メインメニューからを選択します。または、を押して、ポップ
型階層を調べる
ReSharper を使用すると、ソリューションおよび参照ライブラリから型の継承階層を調査できます。選択したタイプの基本タイプと継承の両方を確認し、マウスクリックでそれらのいずれかに移動できます。階層内の任意のノードについて、プレビューペインにすべてのメンバーまたは多態的メンバーのみを表示できます。階層を調査するエディターで目的のタイプを見つけるか、ソリューションエクスプローラーでそれを展開します。を押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して...
ピーク定義ビューで関連コードを表示および編集する
Visual Studio のピーク定義機能を使用すると、別の新しいタブを開かなくても、参照されているシンボルのソースコードをその場で表示および編集できます。ReSharper はこの機能を拡張して、さらに便利にしています。Visual Studio のネイティブショートカット Alt+F12 に加えて、シンボルの使用箇所を Ctrl+Shift-click して、その宣言を Peek Definition ビューに表示できます。これを無効にする場合は、ReSharper オプション Alt+R, O の...
ASP.NET MVC 特有の機能
ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...
言語による ReSharper: MSBuild
MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...
言語による ReSharper: Google プロトコルバッファ (Protobuf)
ReSharper オプションのページで Protobuf サポートが明示的に有効になっている場合、ReSharper は Google Protocol Buffers (Protobuf) バージョン 2.x および 3.0 の .proto ファイルでコード分析および支援機能を提供します。ReSharper は、.proto ファイルの言語構文をハイライトし、エラーを検出してハイライトします。基本コード補完と他のタイピング支援機能はエディターで利用可能です。型と値の宣言に行き、それらの使用箇所を...