Visual Studio で C++ コード間を移動する
Visual Studio には、すばやく効率的にコードベースを移動するために使える一連のツールが用意されています。
インクルード ファイルを開く
#include
ディレクティブを右クリックして、[ドキュメントに移動] を選択します。 または、その行の上にカーソルを置いた状態で F12 キーを選択し、ファイルを開きます。
ヘッダーの切り替え/コード ファイル
ヘッダー ファイルとその対応するソース ファイルを切り替えることができます。 ファイル内の任意の場所を右クリックして、[ヘッダーの切り替え/コード ファイル] を選択します。 または、Ctrl + K キー、Ctrl + O キーを選択できます。
定義 / 宣言へ移動
エディター内で右クリックして [定義へ移動] を選択するか、F12 キーを選択することで、コード要素の定義に移動できます。 同様に、右クリックしてコンテキスト メニューを開くか Ctrl + F12 キーを選択することで、宣言に移動できます。
[移動]
[移動] では、指定するフィルターに基づいて、それぞれが特定の結果を提供する、移動機能のセットを参照します。
Ctrl + , キーで [移動] を開くことができます。 このアクションにより、編集中のドキュメントの上に検索ボックスが作成されます。
[移動] には次の検索フィルターが含まれています。
- [指定行へ移動] (Ctrl + G):現在のドキュメントの別の行にすばやくジャンプします。
- [すべてに移動] (Ctrl + , ) または (Ctrl + T):検索結果には、以下のすべてが含まれます。
- [ファイルに移動する] (Ctrl 1, F):ソリューション内のファイルを検索します。
- Go To Type (Ctrl 1, T): 検索結果には次のものが含まれます。
- クラス、構造体、列挙型。
- インターフェイスとデリゲート (マネージド コードのみ)。
- Go To Member (Ctrl 1, M): 検索結果には次のものが含まれます。
- グローバル変数とグローバル関数。
- クラスのメンバー変数とメンバー関数。
- 定数。
- 列挙型項目。
- プロパティとイベント。
- [シンボルに移動 (Ctrl 1, S): 検索結果には次のものが含まれます。
- [型に移動] と [メンバーに移動する] からの結果。
- マクロを含む、残りのすべての C++ 言語コンストラクト。
Ctrl + キーで最初に [移動] を呼び出したとき、[すべてに移動] がアクティブ化されます (検索結果はフィルター処理されません)。 その後、検索ボックスの近くにあるボタンを使って必要なフィルターを選択できます。 その対応するキーボード ショートカットを使用して特定のフィルターを呼び出すことができます。 そうすると、そのフィルターがあらかじめ選択された状態で [移動] 検索ボックスが開かれます。 すべてのキーボード ショートカットを構成できます。
テキスト フィルターを適用するには、フィルターの対応する文字の後にスペースを続けて検索クエリを開始します。 ( [行へ移動] ではオプションでスペースを省略できます。)次のテキスト フィルターを使用できます。
- [すべてに移動]: (テキスト フィルターなし)
- [行番号に移動]: :
- [ファイルに移動する]: f
- [型に移動]: t
- [メンバーに移動する]: m
- [シンボルに移動]: #
"f" フィルターを使うことによる [ファイルに移動する] 操作の結果を、次の例に示します。
テキスト フィルターの一覧を表示するには、「?」に 続けてスペースを入力します。 [編集] メニューで [移動] コマンドにアクセスすることもできます。 これはメインの [移動] キーボード ショートカットを思い出すためのもう一つの方法です。
[検索] または [フォルダーを指定して検索]
[検索] (Ctrl + F) または [フォルダーを指定して検索] (Ctrl + Shift + F) を使うと、ソリューション内のあらゆる内容に対してテキスト検索を実行できます。
[検索] では、選択範囲、現在のドキュメント、開いているすべてのドキュメント、現在のプロジェクト、またはソリューション全体を対象にすることができます。 正規表現およびプレーンテキストを使用できます。 また、IDE ですべての一致も自動的に強調表示されます。
[フォルダーを指定して検索] は、[検索結果] ウィンドウで結果を表示する、より強力なバージョンの [検索] です。 外部コードの依存関係を検索したり、ファイルの種類でフィルター処理したりすることができます。
2 つのウィンドウで [フォルダーを指定して検索] の結果を整理できます。 複数回の検索からの結果を一緒に追加できます。 結果を選択してファイル内のその場所に移動します。
詳細については、Visual Studio ドキュメントの「[フォルダーを指定して検索]」を参照してください。
[すべての参照の検索]
コードベース内におけるあるシンボルの使用状況をすべて検索するには、そのシンボル内または直後にキャレットを配置し、右クリックして、[すべての参照の検索] を選びます。 多くのさまざまな方法で、結果をフィルター処理、並べ替え、またはグループ化を行うことができます。 結果は増分で作成されます。 システム ヘッダーやその他のライブラリとは対照的に、それらは読み取りまたは書き込みとして分類され、ソリューションの内容を確認しやすくなります。
次のカテゴリで結果をグループ化できます。
- プロジェクト、その次に定義
- 定義のみ
- 定義、その次にプロジェクト
- 定義、その次にパス
- 定義、プロジェクト、その次にパス
結果のフィルター処理
結果をフィルター処理するには、列の上にマウス カーソルを移動して、ポップアップ表示されるフィルター アイコンを選択します。 先頭の列で結果をフィルター処理して、表示する必要がない文字列やコメント参照などを非表示にすることができます。
確認済みの結果:検索されているシンボルへの実際のコードの参照。 たとえば、
Size
というメンバー関数を検索すると、Size
を定義しているクラスのスコープに一致するSize
への参照がすべて返されます。確認取り消しの結果:このフィルターを使うと、検索中のシンボルに対して名前は一致するが、実際の参照ではないシンボルが表示されます。そのため、これは既定ではオフになっています。 たとえば、それぞれが
Size
というメンバー関数を定義するクラスが 2 つあり、Class1
のオブジェクトから参照でSize
を検索を実行する場合、Class2
からSize
への任意の参照は確認取り消しとして表示されます。未処理の結果: [すべての参照の検索] 操作は、より大きいコードベースを完了するには時間かかかる場合があるため、結果リストには "未処理" の結果が表示されます。 未処理の結果は、検索中のシンボルの名前に一致しますが、まだ実際のコード参照として確認されていません。 このフィルターをオンにして、結果をすばやく取得できます。 一部の結果は実際の参照ではない可能性があります。
結果の並べ替え
任意の列を選択することで、その列で結果を並べ替えることができます。 もう一度列を選択すると、昇順または降順を切り替えることができます。
ナビゲーション バー
エディター ウィンドウの上にあるナビゲーション バーを使用することで、ファイル内の型の定義や型のメンバーに移動できます。