C++ でのナビゲーションと検索
名前によるナビゲーション
ReSharper は、数回のキー入力で任意のコード項目やファイルを表示できます。 ナビゲーションの範囲には、ソリューション全体のシンボルとファイル、標準ライブラリとライブラリのすべてのシンボルとファイル、外部依存関係が含まれます。
ソリューション内のコードアイテムを名前で検索する
すべての検索結果への統合アクセスを利用するには、 Control+N を押してポップアップを表示し、入力を開始して ソリューション内のコード項目を検索できます。
検索をタイプ(クラス、インターフェース、構造体、列挙型)に制限する場合は、 Control+N を 2 回押します。
プレーンテキストの一致で何かを検索する場合は、 Control+N を 3 回押します。
シンボル (型、メソッド、プロパティ、フィールドなど)を検索する場合は、 Shift+Control+Alt+N を押します。
Shift+Control+N を押してのみ ファイルを検索することもできます。
ReSharper では、 Control+F12 を押した後に名前を入力することで、 現在のファイル内の型や型メンバーにジャンプすることもできます。
上記のコマンドのいずれかを呼び出した後、ターゲット項目、その キャメルハンプ省略形、/ またはワイルドカードを入力し始めます。 入力すると、一致する項目のリストが絞り込まれ、最も可能性の高い候補がリストの一番近くに表示されます。
ターゲット項目がリストに表示されるとすぐに、それを選択してエディターで開くことができます。 検索結果 ウィンドウで一致した項目のリストを表示して 分析するには、 検索結果に表示
をクリック、またはテンキーの
Shift+Enter
もしくは
+
を押してください。
ReSharper では、 どこでも検索 / 型に移動、 シンボルに移動、 ファイルに移動、 テキストに移動 各アクションで何かを検索した際の直近の入力を記憶できます。 この動作を有効化または無効化するには、ReSharper オプションの ページにある 前回の検索を記憶 チェックボックスを使用してください。 このオプションを選択すると、ReSharper はエディターでの現在の選択内容も初期検索クエリとして使用します。 例えば、文字列内のファイル名を選択し、 Shift+Control+N を押すと、この名前に一致するソリューション内のファイルを検索できます。
宣言に移動
このコマンドを使用して、任意のシンボルの使用箇所からシンボルの宣言に移動します。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。
反対方向(シンボルの使用箇所)に移動するには、すでに シンボル宣言を行っているときに 宣言に移動 コマンドを呼び出すか、 シンボルの使用に移動 コマンドを使用できます。
シンボル宣言へ移動するには、 Control+B を押すか、メインメニューで を選択、もしくは Ctrl キーを押したままシンボルをクリックします。
依存関係のない decltype 指定子とラムダ(ラムダ本体への移動)で宣言に移動します。 宣言からシグネチャーが一致しない定義に移動する(たとえば、メンバー関数の変更された宣言から古い署名を含む定義に移動する)こともできます。 宣言に移動は、最初のプロジェクトのインデックス作成時にも機能します。
宣言に移動は、コメントやマクロ本体の未解決の識別子でも機能します。 ReSharper は、一致する名前のすべてのシンボルを検索し、それらにナビゲートできます。
サポートされていない C++ ファイル(たとえば、C++ /CX)では、Go to 宣言は、対応する Visual Studio ナビゲーションアクションに自動的にフォールバックします。
ファイルメンバーに移動
このコマンドを使用して、現在の文書内の特定のクラス、関数、フィールドにすばやく移動することができます。
ファイルメンバーに移動するには、 Control+F12 を押すか、メインメニューから を選択します。
シンボルの種類に移動
宣言に移動 コマンドを実行すると、シンボルが宣言されている場所に移動しますが、 シンボルの種類 コマンドは現在選択されているシンボルの型の宣言に移動します。 例: 変数 Foo myVar = new Foo(); を持っていて、このコマンドを myVar の使用箇所で呼び出すと、クラス Foo の宣言に移動します。 関数でこのコマンドを呼び出すと、関数の戻り値の型に移動します。
このコマンドは typedef に対しても機能します。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。
シンボルの型に移動するには、 Control+Shift+T を押すか、メインメニューから を選択します。
象徴の使用箇所に移動
このコマンドを使用すると、シンボルの宣言やその他の使用箇所から、シンボルの特定の使用箇所にすばやく移動できます。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。 逆のナビゲーションは、 宣言に移動 コマンドで使用できます。
このコマンドで得られる使用箇所のリストは、 使用箇所の検索のものと同じです。 ただし、このコマンドは使用箇所が少ないシンボルで、特定の利用箇所のみ開きたい場合、 検索結果 ウィンドウを開かず直接移動できるので便利です。
単一の使用箇所が検出された際の ReSharper の挙動を設定できます。 デフォルトでは、使用箇所はポップアップに表示されます。 このような場合に ReSharper が単一の使用箇所へジャンプするようにしたい場合は、ReSharper オプション ページの該当オプション(使い方に移動: 結果が 1 つだけの場合は、リストを表示せずに移動する )を選択してください。 Alt+R、O
シンボルの使用箇所に移動するには、 Control+Alt+F7 を押すか、メインメニューから を選択します。
ベースシンボルに移動
このコマンドを使用すると、継承階層を上に移動して、現在のシンボルの基本型またはメソッドに移動できます。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。
派生シンボルに移動 および 実装に移動 コマンドを使用すると、反対方向のナビゲーションを使用できます。
基本シンボルに移動するには、 Control+U を押すか、メインメニューから を選択します。
他の型から継承する型やインターフェースを実装する型、または基本型のメンバーをオーバーライド・実装・隠すメンバーについては、ReSharper が 特別なガターアイコン (例えば
)を表示します。 アイコンの上にマウスを移動すると、基本シンボルが表示され、継承階層を上に移動できます。
実装に移動
このコマンドは型やメンバーの実装箇所、つまり、実際に実行されるソースコードをすばやく見つけるのに役立ちます。 例えば、基本型や基本メンバーから中間の継承を飛ばして最終的な実装へジャンプしたり、インターフェースメンバーの利用箇所から各実装先すべてへ移動できます。
このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。 必要に応じて、 ベースシンボルへ移動 コマンドを使用して逆方向に移動できます。
実装に移動するには、 Control+Shift+Alt+B を押すか、メインメニューから を選択します。
派生シンボルへ移動
このコマンドは、タイプまたはメンバーのすべての派生シンボルのリストを取得し、継承階層を下って、それらの 1 つに直接移動できるようにします。 実際の実装を探していて、継承チェーンの中間ステップに興味がない場合は、 実装に移動 を使用してください。
派生シンボルに移動するには、 Alt+Control+B を押すか、メインメニューから を選択します。
ヘッダーとソースの切り替え
宣言と定義が分かれているすべてのシンボルについて、ReSharper は左側に 宣言 / 定義に移動する
アクションインジケーターを表示します。 この指標をクリックするか Alt+Enter を押すと、シンボルの宣言と定義をすばやく切り替えることができます。
ヘッダーと対応するソースファイル間を切り替える方法は他にもあります:
Alt+O を押します。
Control+Shift+G を押すか、メインメニューから を選択し、 次に移動 ポップアップで スイッチヘッダー / ソース を選択します。
Ctrl - シンボル名をクリックします。
プライマリテンプレート / スペシャライゼーションに移動する
クラスや関数テンプレートに複数の特殊化がある場合、ReSharper で主テンプレート/特殊化間の切り替えが可能です。
キャレットがプライマリテンプレートまたは特殊化のいずれかにある場合、特殊化の間を移動するには 2 つの方法があります。
Alt+Enter を押して、 専門分野に移動する
を アクションリストで選択してください。Control+Shift+G を押すか、メインメニューから を選択し、 次に移動 ポップアップで 特殊化 を選択します。
いずれの方法でも、すべての専門分野を含むポップアップが表示され、希望するものを選択できます。

使用箇所の検索
このコマンドは、ソリューションおよび参照アセンブリ 内のシンボルのすべての使用箇所(一つ以上)を検索できます。 シンボルの宣言またはその他の使用箇所から検索を開始できます。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。
複数の使用箇所がある場合、ReSharper で 検索結果 ウィンドウ内の 解析結果を活用できます。
デフォルトの動作を変更して、見つかった単一の使用箇所も 検索結果 ウィンドウに表示されるようにすることができます。 この設定にするには、ReSharper オプション ページの 使い方に移動: 結果が 1 つしかない場合は ... チェックボックスをオフにしてください。 Alt+R、O
現在のシンボルの使用箇所を検索するには、 Alt+F7 を押すか、メインメニューから を選択します。
関連するエンティティの使用箇所を探す
このコマンドを使用すると、指定された範囲内で、選択したシンボルに何らかの方法で関連するエンティティ (テキストの出現、動的参照など) の使用箇所を見つけることができます。 このコマンドは ソリューションエクスプローラー、 ファイル構造ウィンドウ 、その他ツールウィンドウから呼び出せます。
現在のシンボルと関連エンティティの使用箇所を検索するには、 Shift+Alt+F7 を押すか、メインメニューから を選択します。
ファイル内の使用箇所をハイライト
エディター ではシンボルのキャレット位置の使用箇所を自動でハイライトしますが、短いファイルや小規模コンテキストのローカル変数には非常に便利です。 ただし、この種のハイライトは大きなコンテキストでは必ずしも有効ではありません。選択はキャレットがシンボル上にある間しか維持されないためです。
キャレットに依存せず、 Esc を押すまで残るハイライトもあり、読み取りアクセスと書き込みアクセスで異なる 設定可能な色が適用されます。 このハイライトを 1 つのアイテムまたは複数の異なるアイテムに対して同時に切り替え、ショートカットを使用してハイライト間を移動できます。
現在のシンボルと関連エンティティの使用箇所を検索するには、 Control+Shift+F7 を押すか、メインメニューから を選択します。
外側の宣言にジャンプ
キャレットが型または関数の本体内の任意の場所にある場合、1 つのショートカットでその型または関数の宣言に移動できます。
包含宣言に移動するには、 Control+[ を押すか、メインメニューから を選択します。
次 / 前のメンバーに移動
次 / 前メンバー コマンドを使用すると、コードファイル内の隣接するメンバーとネストされた型の間、またはマークアップファイル内の隣接するタグ間をすばやく移動できます。
これらのコマンドを呼び出すには、 Alt+Down/Alt+Up を押すか、メインメニューで を選択します。
関連ファイルへジャンプ
関連ファイルに移動するには、 Control+Alt+Shift+G を押すか、メインメニューから を選択します。
Locate in Solution Explorer
この便利なナビゲーション機能を使用すると、ソリューションエクスプローラーでツリーを展開し、自動スクロールして現在のドキュメントに対応する項目をハイライトできます。 大規模なソリューションを使用している場合、またはソリューションエクスプローラーウィンドウを制限まで縮小しなければならない画面領域が限られている場合に特に役立ちます。
関連ファイルに移動するには、 Alt+Shift+L を押すか、メインメニューから を選択します。
最近使用した箇所への移動
ReSharper はアクションやナビゲーション履歴を記録し、編集した場所や確認したコード位置に移動できるコマンドをいくつか提供します。
最近のファイルに移動 Control+E
最近の編集に移動 Alt+Shift+Control+Back
前の編集に移動 Shift+Control+Back
ファイル構造の移動
ReSharper では、ファイル構造ウィンドウ を使って現在のドキュメント構造をナビゲートでき、大きなファイルでの移動が大きく簡略化されます。 ウィンドウは エディター と同期しており、他の エディター タブに切り替えると該当ファイルの構造が表示されます。
ファイル構造ウィンドウ を開くには、 Control+F11 を押すかメインメニューから を選びます。

行動に移動する
ReSharper を使うと、メニューを探し回ることなく、すばやく目的のアクションを見つけて適用できます。 アクションとは、現在のキャレット位置で使用できる実行可能コマンド、またはツールウィンドウを開くコマンドなどのグローバルコマンドを意味します。
オプションページを検索して移動することもできます。
ReSharper アクションを検索して実行するには、 Control+Shift+A を押すかメインメニューから を選びます。
ブレークポイントのナビゲーション
ReSharper では、ソリューション内の任意のブレークポイント/トレースポイントにすばやくジャンプでき、グループ化、検索、プレビュー、シンボル名を備えた専用ツールウィンドウで全ブレークポイントを確認できます。
ブレークポイントに移動するには、 Control+Alt+F9 を押すか、メインメニューから を選択します
ReSharper には独自の R# ブレークポイント ウィンドウもあり、Visual Studio 標準のウィンドウの代わりとして使えます。ここで入力してブレークポイントを検索したり、コンテキストメニューで有効化/無効化や削除を行うこともできます。 両者の違いは下のスクリーンショットで確認できます。

R# ブレークポイント ウィンドウを表示するには、 上記の手順でブレークポイントのポップアップを開き、 ブレークポイントウィンドウに表示
をクリック、またはテンキーの
Shift+Enter
もしくは
+
を押します。
ブックマーク
後でコード内のある場所に戻りたい場合は、ソリューション内または ライブラリコード内の任意のコード行をブックマークでマークできます。
使用できるブックマークには次の 2 種類があります。
ニーモニックのブックマーク — 現在のソリューションの上位 10 位など、頻繁に参照するコード行をマークするのに最も役立ちます。 最大 10 個の番号付きブックマークを同時に持つことができます。 それらは、左側の エディター ガターに下記アイコンで示されます:
.png)
この種類のブックマークには専用ショートカットがあります: Ctrl+Shift+[桁数] でこの数字のブックマークを切り替え、 Ctrl+[桁数] でこの数字のブックマークにジャンプします。
匿名のブックマーク — 無制限の数で許可されているため、将来いつか戻る価値があると思われる任意の行にマークを付けることができます。 それらは、左側の エディター ガターに次のアイコンで示されます:
.png)
この種類のブックマークを切り替えて、ブックマークポップアップから移動できます。
詳細については、 ブックマーク を参照してください
To-Do エクスプローラー
ReSharper では、タスクや 技術的負債のトラックが簡単にできます。 特定パターンに一致するコード項目(コメント、文字列リテラル、識別子など)は、エディター内だけでなく To-do エクスプローラー ウィンドウを使ってソリューション全体からも簡単に見つけられます。
詳細については、 やることリスト を参照してください