ReSharper 2019.2ヘルプ

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

ReSharperを使用すると、いくつかのキーストロークで任意のコードアイテムまたはファイルを表示できます。ナビゲーションの範囲には、ソリューション全体のシンボルとファイル、標準ライブラリーとライブラリーのすべてのシンボルとファイル、および外部依存関係が含まれます。

アイテム名でソリューション内のアイテムを検索するには

  1. すべての検索結果への統一されたアクセスを使用するには、Ctrl+N を押すとポップアップが表示され、そこで入力を開始して入力に一致するすべてのものをソリューション内で見つけることができます。

  2. 検索を型(クラス、インターフェース、構造体、列挙型)に限定したい場合は、Ctrl+N を2回押してください。

  3. プレーンテキストによる一致で何かを見つけたい場合は、Ctrl+N を3回押します。

  4. シンボル (タイプ、メソッド、プロパティー、フィールドなど)を検索する場合は、Ctrl+Shift+Alt+Nを押します。

  5. Ctrl+Shift+Nを押して検索をに制限することもできます。

  6. ReSharperでは、 Ctrl+F12を押した後に名前を入力することで、現在のファイルの型や型メンバーにジャンプすることもできます。

  7. 上記のコマンドのいずれかを呼び出した後、ターゲット項目、そのキャメルハンプ省略形、および/またはワイルドカードを入力し始めます。入力すると、一致する項目のリストが絞り込まれ、最も可能性の高い候補がリストの一番近くに表示されます。

  8. 目的の項目がリストに表示されたらすぐにそれを選択してエディターで開くことができます。検索結果ウィンドウで一致する項目のリストを表示および分析するには、検索結果に表示 ThemedIcon SearchResults Screen Gray をクリックし、数字キーパッドの Shift+Enter または + を押します。

ReSharperは、どこでも検索/型に移動ファイルに移動、およびテキストに移動アクションで何かを見つけるために使用した最後の入力を覚えています。この動作を有効または無効にするには、ReSharperオプションの環境 | 検索とナビゲーションページで前回の検索チェックボックスを使用します。このオプションを選択すると、ReSharperはエディターで現在の選択内容を最初の検索クエリとして使用します。例:文字列内のファイル名を選択し、Ctrl+Shift+N を押すと、ソリューション内でこの名前と一致するファイルを検索できます。

宣言に移動

このコマンドを使用すると、任意のシンボル使用箇所からシンボルの宣言にナビゲートできます。ファイル構造ウィンドウや他のツールウィンドウからエディターからこのコマンドを呼び出すことができます。
反対方向にナビゲートする(シンボルの使用箇所)には、すでにシンボル宣言を行っているときに宣言に移動コマンドを呼び出すか、またはシンボルの使用箇所にジャンプコマンドを使用することができます。

シンボルの宣言に進むには、Ctrl+Bを押し、メインメニューでReSharper | ナビゲート | 宣言に移動を選択するか、Ctrl キーを押したままシンボルをクリックします。

宣言に移動すると、依存関係のない decltype 指定子とラムダ(ラムダ本体にジャンプします)が動作します。宣言から、一致しないシグネチャーを持つ定義へ(たとえば、メンバー関数の宣言の変更から古いシグネチャーを持つ定義への変更)、またはその逆も可能です。宣言に移動は、最初のプロジェクトのインデックス作成中にも機能します。

サポートされていないC++ファイル(C++ / CXなど)では、宣言へ移動は対応するVisual Studioナビゲーションアクションに自動的にフォールバックします。

ファイルメンバーに移動

このコマンドを使用して、現在の文書内の特定のクラス、関数、またはフィールドにすばやく移動することができます。

ファイルメンバーに移動するには、Ctrl+F12 を押すか、メインメニューからReSharper | ナビゲート | ファイルメンバーに移動...を選択します。

記号の種類に移動

宣言に移動コマンドを実行すると、シンボルが宣言されている場所に移動しますが、シンボルの種類コマンドは現在選択されているシンボルのタイプの宣言に移動します。例:変数 Foo myVar = new Foo(); を持っていて、このコマンドを myVarの使用箇所で呼び出すと、クラス Fooの宣言に移動します。関数でこのコマンドを呼び出すと、関数の戻り値の型にナビゲートします。

このコマンドはtypedefでも有効です。エディター、ファイル構造ウィンドウおよび他のツールウィンドウからこのコマンドを呼び出すことができます。

シンボルの型に移動するには、Ctrl+Shift+T を押すか、メインメニューからReSharper | ナビゲート | シンボルの種類を選択します。

象徴の用法にジャンプ

このコマンドを使用すると、宣言やその他の使用箇所からシンボルの特定の使用箇所にすばやく移動できます。エディター、ファイル構造ウィンドウおよび他のツールウィンドウからこのコマンドを呼び出すことができます。反対側のナビゲーションは、宣言に移動コマンドで使用できます。

このコマンドで得られる使用箇所のリストは、使用箇所の検索のものと同じです。しかし、このコマンドは、特定の用途を探していて、検索結果ウィンドウを開かずにこの使用箇所にしたい場合に、使用回数が限られているシンボルの方が便利です。

1回の使用が検出された場合のReSharperの動作を設定できます。デフォルトでは、使用状況がポップアップで表示されます。このような場合にReSharperを使い分けたい場合は、ReSharperオプションの環境 | 検索とナビゲーションページで対応するオプション(使い方にジャンプ: 結果が1つだけの場合は、リストを表示せずにナビゲートする)を選択します。

シンボルの使い方にジャンプするには、Ctrl+Alt+F7 を押すか、メインメニューからReSharper | ナビゲート | シンボルの使用を選択します。

ベースシンボルに移動

このコマンドを使用すると、継承階層を現在のシンボルの基本タイプまたはメソッドに移動することができます。エディター、ファイル構造ウィンドウおよび他のツールウィンドウからこのコマンドを呼び出すことができます。
派生シンボルに移動コマンドと実装に移動コマンドで反対方向のナビゲーションが可能です。

ベースシンボルに移動するには、Ctrl+U を押すか、メインメニューからReSharper | ナビゲート | ベース・シンボルを選択します。

メソッドが別のメソッドをオーバーライド、実装、または非表示にすると、メソッド宣言の左側に表示される特別なアイコン(たとえば、ThemedIcon Overrides Screen Gray )が表示されます。このアイコンの上にマウスを置くと、このメソッドの基本タイプが表示されます。アイコンをクリックしてメソッドの階層を上に移動します。

実装に移動

このコマンドを使用すると、基本タイプまたはメンバーから継承チェーンの中間ステップをバイパスして、その終了実装のいずれかにジャンプすることができます。つまり、派生シンボルに移動と同様に動作しますが、抽象クラスは表示されません。

エディター、ファイル構造ウィンドウおよび他のツールウィンドウからこのコマンドを呼び出すことができます。必要に応じて、ベースシンボルへ移動コマンドを使用して逆方向にナビゲートすることができます。

実装に移動するには、Ctrl+Shift+Alt+B を押すか、メインメニューからReSharper | ナビゲート | 実装に移動を選択します。

派生シンボルへ移動

このコマンドは、現在のシンボルのすべての派生シンボルのリストを取得し、継承階層を下にしてそれらの1つに直接ナビゲートすることができます。同様のコマンド実装に移動があります。このコマンドは、継承チェーンの中間ステップを使用せずに、実装のみをリストしています。

派生シンボルに移動するには、Ctrl+Alt+B を押すか、メインメニューからReSharper | ナビゲート | 派生シンボルを選択します。

ヘッダーとソースの切り替え

別々の宣言と定義を持つすべてのシンボルに対して、ReSharperは左側に宣言/定義に移動する ThemedIcon Switch Screen Gray アクション標識を表示します。この指標をクリックするか Alt+Enter を押すと、シンボルの宣言と定義をすばやく切り替えることができます。

ヘッダーと対応するソースファイルを切り替えるには、さらに多くの方法があります。その逆もあります。

  • Alt+Oを押します。

  • メインメニューで Ctrl+Shift+G を押すかReSharper | ナビゲート | 次にナビゲート…を選択し、次にナビゲートポップアップでスイッチヘッダー/ソースを選択します。

  • Ctrl - シンボル名をクリックしてください。

プライマリーテンプレート/スペシャライゼーションに移動する

クラスまたはファンクションテンプレートに複数の特殊化がある場合、ReSharperでは、主なテンプレート/特殊化を切り替えることができます。

キャレットがプライマリーテンプレートまたは特殊化のいずれかにある場合、特殊化の間をナビゲートするには2つの方法があります。

  • Alt+Enter を押して、アクションリスト専門分野にナビゲートする ThemedIcon Switch Screen Gray を選択します。

  • メインメニューで Ctrl+Shift+G を押すかReSharper | ナビゲート | 次にナビゲート…を選択し、次にナビゲートポップアップで特殊化を選択します。

どちらの方法でも、すべての特殊化を含むポップアップが表示され、希望するものを選択できます。

Navigating to specializations of a template

使用箇所の検索

このコマンドを使用すると、ソリューション内の特定のシンボルのすべての使用箇所を見つけることができます。シンボルの宣言または他の用途から検索を開始することができます。エディター、ファイル構造ウィンドウおよび他のツールウィンドウからこのコマンドを呼び出すことができます。

複数の用途がある場合は、ReSharperを使用すると検索結果ウィンドウ結果を分析できます。

必要に応じて、デフォルトの動作を変更して、見つかった単一の使用箇所が検索結果ウィンドウにも表示されるようにすることができます。これを行うには、ReSharperオプションの環境 | 検索とナビゲーションページの使い方:1つだけの結果がある場合は....チェックボックスをオフにします。

現在のシンボルの使用箇所を見つけるには、Alt+F7 を押すか、メインメニューからReSharper | 検索 | 使用箇所の検索を選択します。

高度な使い方を探す

このコマンドを使用すると、特定のスコープ内で選択されたシンボルに何らかの形で関連するエンティティ(テキスト出現箇所、動的参照など)の使用箇所を見つけることができます。このコマンドは、エディター、ファイル構造ウィンドウおよびその他のツールウィンドウから呼び出すことができます。

現在のシンボルと関連するエンティティの使用箇所を見つけるには、Shift+Alt+F7 を押すか、メインメニューからReSharper | 検索 | 使用箇所の検索アドバンスド...を選択します。

ファイル内の使用箇所を強調表示

現在のドキュメントでシンボルの使用箇所を探している場合は、検索結果ウィンドウの用途を分析するのではなく、すべての使用箇所を強調表示してその間をジャンプする方が便利です。読取りおよび書込みアクセスの使用方法は、さまざまな色で強調表示されています。

現在のシンボルと関連するエンティティの使用箇所を見つけるには、Ctrl+Shift+F7 を押すか、メインメニューからReSharper | 検索 | ファイル内の使用箇所を強調表示を選択します。

外側の宣言にジャンプ

1回のショートカットで、エディター内でその本体内の任意の位置から型または関数の宣言にジャンプできます。

宣言を含むには、Ctrl+[ を押すか、メインメニューからReSharper | ナビゲート | 外側の宣言を選択します。

次/前のメンバーにジャンプ

次/前メンバーコマンドを使用すると、コードファイル内のメンバーと入れ子になった型の間、またはマークアップファイル内のタグ間をすばやく移動できます。

これらのコマンドを呼び出すには、Alt+Down / Alt+Up を押すか、メインメニューでReSharper | ナビゲート | 次/前メンバーを選択します。

関連するファイルに移動するには、Ctrl+Shift+Alt+G を押すか、メインメニューからReSharper | ナビゲート | 関連ファイル...を選択します。

ソリューションエクスプローラーで検索

この便利なナビゲーション機能を使用すると、ソリューションエクスプローラーでツリーを展開し、自動スクロールして現在のドキュメントに対応する項目を強調表示できます。大規模なソリューションを使用している場合、またはソリューション・エクスプローラーウィンドウを制限まで縮小しなければならない画面領域が限られている場合に特に役立ちます。

関連するファイルに移動するには、Shift+Alt+L を押すか、メインメニューのReSharper | ツール | ソリューションエクスプローラーで検索を選択します。

ReSharperはあなたの行動とナビゲーション履歴を追跡して、コードを編集したか、またはちょうど勉強した場所にナビゲートすることを可能にするいくつかのコマンドを提供します。

ファイル構造のナビゲート

ReSharperでは、ファイル構造ウィンドウを使って現在のドキュメントの構造をナビゲートすることができます。これは大きなファイルでのナビゲーションを非常に簡単にします。ウィンドウはエディターと同期しています。別のエディタータブに切り替えると、ウィンドウには対応するファイルの構造が表示されます。

Viewing file structure of a C++ file

型階層

ReSharperを使用すると、ソリューションおよび参照ライブラリーから型の継承階層を調査できます。選択したタイプの基本タイプと継承元の両方を表示し、マウスクリックでそれらのいずれかにナビゲートできます。詳しくは、型階層の探索を参照してください。

Type Hierarchy of C++ classes

包含の階層

ReSharperでは、includeディレクティブまたはファイルに対して、includeの階層を視覚的に分析することができます。

インクルードの階層を構築するには、ファイルの #include ディレクティブにキャレットを設定するか、ソリューションエクスプローラーでファイルを選択し、Ctrl+Alt+H を押すか、メニューのReSharper | インスペクション | 階層を選択します。

Hierarchy of C++ includes

階層内のファイルをダブルクリックすると、エディターで開くことができます。

デフォルトでは、各ファイルの子ノードは、このファイルに含まれるファイルを表します。これは、ツールバーのインクルード ThemedIcon Subtypes Screen Gray モードに対応します。インクルード ThemedIcon Supertypes Screen Gray モードに切り替えることができます。このモードでは、ファイルの子ノードは、このファイルを含む現在のスコープ内のファイルを表します。

ReSharperを使用すると、メニューをたどることなく、そのアクションをすばやく見つけて適用できます。アクションとは、現在のキャレット位置に使用できる実行可能コマンド、またはグローバルコマンド(ツールウィンドウを開くコマンドなど)のことです。
また、オプションページを見つけて移動することもできます。

ReSharperアクションを見つけて実行するには、Ctrl+Shift+A を押すか、メインメニューからReSharper | ナビゲート | アクションにジャンプ…を選択します。

ブレークポイントのナビゲーション

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

ブレークポイントにジャンプするには、Ctrl+Alt+F9 を押すか、メインメニューからReSharper | ナビゲート | ブレークポイント…を選択する

ReSharperには独自のR#ブレークポイントウィンドウもあります。これはネイティブのVisual Studioウィンドウの代わりに使用できます。ブレークポイントを検索するために入力を開始したり、ブレークポイントを有効/無効にしたり削除したりできます。下のスクリーンショットで、両者の違いを確認できます。

ReSharper breakpoints window

R#ブレークポイントウィンドウを表示するには、上記のようにブレークポイントポップアップを開き、ブレークポイントウィンドウに表示ThemedIcon SearchResults Screen Gray の順にクリックし、テンキーの Shift+Enter または + を押します。

ブックマーク

カスタムナビゲーションのニーズに合わせて、ReSharperはコード行をブックマークでマークしてそれらの間を移動する方法を提供します。

ブックマークには2種類のブックマークがあります。

  • 番号付きブックマーク - このタイプの各ブックマークを切り替えることができ、専用のショートカットを使ってそれぞれのブックマークに移動することができます。Ctrl+Shift + <数字>は、対応するブックマークを切り替えます。 Ctrl + <数字>は、対応するブックマークに移動します。最大10個の番号付きブックマークを同時に持つことができます。

  • 匿名のブックマーク - これらのブックマークはブックマークポップアップからのみ切り替え可能です。これらのブックマークを無制限に持つことができます。

詳細については、ブックマークを参照してください。

To-Do エクスプローラー

ReSharperは、コード内のタスクと技術的負債(英語)を簡単に追跡する方法を提供します。特定のパターンに一致するコード項目(コメント、文字列リテラル、または識別子)は、エディターおよびTo-do Explorerウィンドウを使用するソリューション全体で簡単に見つけることができます。

詳細については、To-Doリストの使用を参照してください。

最終更新日: 2019年8月16日

関連ページ:

どこでも検索/型に移動

このコマンドは、2つの異なる機能を組み合わせています。最初に表示されるどこでも検索では、タイプ、シンボル、ファイル、ソースファイルとテキストファイルの文字列リテラル、最近の編集内容、最近のファイル、最近表示された方法など、次の宛先に移動できます。提案のリストは、この機能を呼び出すとすぐに表示され、最...

テキストに移動

ReSharper | ナビゲート | テキストに移動…3回続けて を押すと、'どこでも検索'、'型へジャンプ'、'テキストに移動'コマンドを繰り返し実行できます。このナビゲーションコマンドを使用すると、ソリューションのソースファイルおよびテキストファイル内の任意のテキストをすばやく見つけてナビゲ...

シンボルにジャンプ

ReSharper | ナビゲート | シンボルにジャンプ…このコマンドを使用すると、ソリューション全体のシンボルおよびファイル内のコードシンボル、およびソリューションのプロジェクトで参照されるすべてのアセンブリの名前を検索できます。検索結果には、現在アセンブリエクスプローラーウィンドウにロードされ...

ファイルに移動

このコマンドは、現在のソリューション内の任意のファイルにナビゲートします。ナビゲーション結果からファイル、フォルダー、ファイルマスクを除外できます。これを行うには、ReSharperオプションのページのスキップする要素セクションでこれらの項目を指定します。このコマンドはグローバルスコープで機能します...

ファイルメンバーに移動

このコマンドを使用すると、現在のドキュメント内の特定のメソッド、フィールド、プロパティー(ソースファイルまたは逆コンパイルによって再構築されたファイル)にすばやく移動できます。このコマンドを使用して、現在のドキュメント内のテキストを検索することもできます。テキストの一致は、一致するメンバーの後にポッ...

キャメルハンプ

キャメルハンプは、各パートが大文字で始まるCamelCase、または複合名の一部がアンダースコアで区切られた複合名の一部を識別する機能です。これらの部分の最初の文字だけを入力することができ、ReSharperは自動的に名前が一致する項目を検索します。検索コマンドのキャメルハンプ:キャメルハンプは常に...