ReSharper 2019.3ヘルプ

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

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

ソリューション内のコード項目を名前で検索する

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

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

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

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

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

  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)では、Go to宣言は、対応するVisual Studioナビゲーションアクションに自動的にフォールバックします。

ファイルメンバーに移動

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

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

記号の種類に移動

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

このコマンドはtypedefでも機能します。このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウおよびその他のツールウィンドウから呼び出すことができます。

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

象徴の用法にジャンプ

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

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

単一の使用箇所が検出された場合の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

使用箇所の検索

このコマンドを使用すると、ソリューション内の1つ以上のシンボルのすべての使用状況を検索できます。シンボルの宣言またはその他の使用箇所から検索を開始できます。このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウおよびその他のツールウィンドウから呼び出すことができます。

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

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

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

高度な使い方を探す

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

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

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

エディターは、キャレットでのシンボルの使用箇所を自動的に強調表示します。これは、短いファイルや小さなコンテキストのローカルにとって非常に便利です。ただし、この種類の強調表示は、キャレットがシンボルに留まっている場合にのみ選択範囲が存在するため、より大きなコンテキストでは常にうまく機能するとは限りません。

There is also a caret-independent highlighting that stays until you press Esc and applies different configurable colors to read and write access usages. You can toggle this highlighting for a single item or for several different items simultaneously, and then use shortcuts to jump between the highlightings.

現在のシンボルと関連するエンティティの使用箇所を見つけるには、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#ブレークポイントウィンドウを表示するには、上記のように Breakpointsポップアップを開き、次にブレークポイントウィンドウに表示 ThemedIcon SearchResults Screen Gray をクリックして、テンキーで Shift+Enter または + を押します。

ブックマーク

後でコード内のある場所に戻りたい場合は、ソリューション内またはライブラリコード内の任意のコード行をブックマークでマークできます。

使用できるブックマークには次の2種類があります。

  • ニーモニックのブックマーク —現在のソリューションの上位10位のように、しばしば参照するコード行をマークするのに最も役立ちます。同時に最大10個の番号付きブックマークを作成できます。これらは、左側のエディターのガターにある次のアイコンによって示されます: ThemedIcon Bookmark3 Screen Gray

    この種類のブックマークには専用のショートカットを使用します。Ctrl+Shift+ <digit>は、この数字でブックマークを切り替えます。 Ctrl + <digit>は、この数字でブックマークに移動します。

  • 匿名のブックマーク —無制限の数で許可されているため、任意の行にマークを付けることができます。これは、将来のある時点で戻る価値があると思われます。それらは、左側のエディターのガターにある次のアイコンで示されます: ThemedIcon AnonymousBookmark Screen Gray

    この種類のブックマークを切り替えて、ブックマークポップアップ N/Aから移動できます。

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

To-Do エクスプローラー

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

詳細については、予定リストを参照してください。

最終更新日: 2020年2月24日

関連ページ:

どこでも検索/型に移動

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

テキストに移動

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

シンボルにジャンプ

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

ファイルに移動

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

ファイルメンバーに移動

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

キャメルハンプ

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