型とメンバーの定義の表示
多くの場合、開発者はコード内で使う型やクラス メンバーのソース コードの定義を確認する必要があります。 Visual Studio では、 「定義へ移動」 機能と 「定義をピーク」 機能を使用すると、型またはメンバーの定義を簡単に表示できます。 ソース コードが利用できない場合は、Visual Studio は代わりにメタデータを表示します。
定義へ移動
「定義へ移動」 機能を使用すると、Visual Studio は選択した型またはメンバーのソース コードを検索します。 ソース コードが別のファイルにある場合は、そのファイルが新しいウィンドウで開きます。 Visual Studio は現在のフォーカスを変更して、関連するエントリを強調表示します。
「定義へ移動」にアクセスするには、いくつかの方法があります。
シンボル名の中にカーソルを置き、 F12 ファンクションキーを使用します。
シンボル名を右クリックして、 定義へ移動を選択します。
シンボル名で Ctrl+クリック キーボード/マウスショートカットを使用します
アクションショートカットの変更
[ツール]>[オプション]>[テキスト エディター]>[全般] の [マウス クリックで定義へ移動] を有効にする オプションを使用して、 [定義へ移動] の Ctrl+クリック ショートカットを有効または無効にすることができます。
ショートカットの修飾キーを変更するには、 [修飾キーの使用] ドロップダウン リストを展開し、 Ctrl (既定値)、 Alt、または Ctrl+Altを選択します。
定義を覗いてみる
「定義をプレビュー」 機能を使用すると、エディター内の現在のファイルからフォーカスを変更せずに、型の定義をプレビューできます。 Visual Studio は、現在のファイルと同じ場所にソース ファイルの縮小された ピーク ビュー ウィンドウを開きます。 ソース定義をさらに詳しく表示するには、 ピーク ビュー ウィンドウのサイズを変更します。
ピーク ビュー ウィンドウを閉じると、現在のコード ファイルはエディターで開いたままになります。
Peek Definitionにアクセスするには、いくつかの方法があります。
シンボル名の中にカーソルを置き、 Alt+F12 ファンクションキーを選択します。
シンボル名を右クリックして、 定義のプレビューを選択します。
シンボル名で Ctrl+クリック キーボード/マウスショートカットを使用します
アクションショートカットの変更
Ctrl+クリック キーボード/マウス ショートカットを 定義へ移動 に設定して、ソース コード ファイルを ピーク ビューで開くことができます。 [ツール]>[オプション]>[テキスト エディター]>[全般] の下にある [定義をピーク ビューで開く] オプションを使用します。
複数のファイルにパンくずパスを使用する
開いている ピーク ビュー ウィンドウから別の定義をピークすると、パンくずパスが開始されます。 ピーク ビュー ウィンドウの上にある円と矢印を使用して、パスに沿って前方と後方をピークできます。
ピーク ビュー ウィンドウを閉じると、Visual Studio はブレッドクラム パスで開いているすべてのファイルを閉じます。 詳細については、「定義をプレビュー (Alt+F12) を使用してコードを表示および編集する」を参照してください。
ソース コードとしてのメタデータの表示 (C#)
C# の型またはメンバーの定義を確認しようとしたときにソース コードが利用できない場合は、Visual Studio によって代わりにシンボルのメタデータが表示されます。 型とメンバーの宣言は確認できますが、実装は確認できません。 ウィンドウのタブ ラベルには、シンボル名とそれに続く [メタデータから]が含まれます。
Note
内部 型またはメンバーの定義を確認しようとすると、参照アセンブリが フレンド であるかどうかに関係なく、Visual Studio はメタデータをソース コードとして表示しません。 詳細については、「フレンド アセンブリ」を参照してください。
逆コンパイルされたソース定義を表示する (C#)
選択した C# シンボルのソース コードが利用できない場合は、メタデータではなく逆コンパイルされたソース定義を表示するオプションを設定できます。 ツール>オプション>テキスト エディター>C#>詳細設定 の デコンパイルされたソースへのナビゲーションを有効にする オプションを使用します。
Note
Visual Studio は、 ILSpy 逆コンパイルを使用してメソッド本体を再構築します。 初めてこの機能にアクセスするときは、ソフトウェア ライセンス、著作権、商標の法律に関する法的な免責事項に同意していただく必要があります。