方法 : オブジェクト、定義、および参照 (シンボル) を検索する

更新 : 2010 年 8 月

オブジェクト ブラウザー[移動][シンボルの検索]、または [定義へ移動] を使用すると、ソリューション内のオブジェクト、定義、または参照 (シンボル) を検索できます。

オブジェクト ブラウザーでは、検索文字列を入力することにより、現在の参照スコープについてオブジェクト ペインに表示されるシンボル名にフィルターをかけることができます。 たとえば、文字列 MyObject を検索した場合、"MyObject"、"MyObjectTest"、および "CMyObject" が返されます。

[移動] 機能を使用して、ソース コード内のシンボルやファイルを検索できます。

より高度な検索を実行するには、[検索と置換] ウィンドウの [シンボルの検索] タブを使用します。 結果は [シンボルの検索結果] ウィンドウに表示されます。 詳細については、「[シンボルの検索] ([検索と置換] ウィンドウ)」および「[シンボルの検索結果] ウィンドウ」を参照してください。

注意

オブジェクト ブラウザーのオブジェクト ペインでシンボルを右クリックし、[すべての参照の検索] をクリックすると、同様に結果が [シンボルの検索結果] ウィンドウに表示されます。

エディターでコード要素のインスタンスを右クリックし、[定義へ移動] をクリックすることで、コード要素の元の定義を検索することもできます。

オブジェクト ブラウザーを使用したシンボルの検索

オブジェクト ブラウザー[検索] ボックスに検索文字列を入力すると、現在の参照スコープだけが検索されます。 参照スコープを選択するには、[参照] ボックスを使用します。 検索のスコープを設定する方法の詳細については、「方法: オブジェクト ブラウザー内で参照スコープを変更する」を参照してください。

オブジェクト ブラウザーで検索文字列を使用してシンボルを検索するには

  1. オブジェクト ブラウザー[参照] ボックスの一覧で参照スコープを選択します。

  2. [検索] ボックスに、検索するシンボル名のすべてまたは一部を入力するか、ドロップダウン リストからシンボルを選択します。

    注意

    検索では大文字と小文字が区別されません。

  3. [検索] をクリックします。

    オブジェクト ペインには、選択した参照スコープ内にあり、名前に検索文字列を含むシンボル名だけが表示されます。 各一致項目に含まれている検索文字列は強調表示されます。

結果をクリアするには

  • オブジェクト ブラウザーで、ツール バーの [検索のクリア] ボタンをクリックします。

    オブジェクト ペインに、現在の参照スコープに存在するすべてのオブジェクトが表示されます。

[移動] を使用したシンボルの検索

[移動] を使用すると、ソリューション内の特定の場所を検索してその場所に移動したり、ソリューション内の要素を参照したりできます。 これにより、クエリから一致結果の適切なセットを選択できます。

[移動先] ダイアログ

[移動] でシンボルやファイルを検索するには

  1. [編集] メニューの [移動] をクリックします。

  2. 上部のボックスに検索文字列を入力します。

    入力した文字に応じた結果が下部のボックスに表示されます。 たとえば、「Click」と入力すると、"Click" を含むすべてのシンボル名が表示されますが、さらに、空白文字と文字 E を加えると、一覧にフィルターがかけられて、"Click" と "E" を含むシンボルだけが表示されます (空白文字は and として扱われます)。

検索結果には、ソリューション内のシンボル定義やファイル名が含まれることがありますが、名前空間やローカル変数は含まれません。

検索文字列には、複数の検索語句を含めることができます。その場合、検索語句を空白で区切る必要があります。 検索語句に英大文字が含まれていると、その語句の検索で大文字と小文字が区別されます。それ以外の場合、大文字と小文字は区別されません。 ファイル名は、最初の文字の大文字と小文字が常に区別されません。

シンボルを複数のキーワードに分ける Camel 形式およびアンダースコア文字を利用することで、シンボルに含まれているキーワードを検索できます。 たとえば、"AddOrderHeader" シンボルを検索するには、次の表に示すように、"add"、"order"、"header"、"order add"、"AOH"、およびその他の組み合わせによって検索できます。

シンボル名

関連するキーワード

一致する検索文字列の例

AddOrderHeader

Add、Order、Header

"add"、"order"、"header"、"order add"、"AOH"、"a o"、"add ord"、"OrderH"

update_customer

update、customer

"update"、"customer"、"customer upd"、"update c"

[移動] の構文では、次のような特殊なロジックや特殊文字はサポートされません。

  • ワイルドカードによる一致

  • ブール型の論理演算子 (and、or、&、| など)

  • 正規表現

結果の 1 つをダブルクリックすると、コード内での定義を参照できます。

拡張クエリを実行するには、[シンボルの検索] を使用します。

[シンボルの検索] を使用したシンボルの検索

[検索と置換] ウィンドウの [シンボルの検索] タブを使用すると、プロジェクト コード内でシンボルが定義、参照、または使用されている行を特定できます。 特に、[シンボルの検索] は次の場合に役立ちます。

  • シンボルの定義を検索する、またはシンボルの複数の定義を検出する。

  • シンボルへの参照と、そのシンボルがコードで使用されているインスタンスを検索する。

  • 参照されているコンポーネントや外部コンポーネントのオブジェクト階層を調べ、その機能を確認する。

[シンボルの検索] の使用は、次の点でテキストの検索とは異なります。

  • [シンボルの検索] では、シンボルだけが対象となるように検索スコープを限定できます。

  • シンボルの使用可能な定義およびシンボルへの参照が [シンボルの検索結果] ウィンドウに表示されます。

  • ソース コードがない外部コンポーネントも検索できます。

[検索と置換] ウィンドウの [シンボルの検索] タブで検索文字列を使用してシンボルを検索するには

  1. 検索対象となるファイルがソース コード管理されている場合は、そのファイルをチェックアウトします。

  2. 開いているドキュメントをソース ビューに切り替えます。

  3. [編集] メニューの [検索と置換] をクリックし、[シンボルの検索] をクリックします。

  4. [検索対象] ボックスの一覧で、次のいずれかの検索スコープを選択します。

    • [すべてのコンポーネント] は、利用可能なすべてのコンポーネントを検索対象にします。これには、現在のソリューション、現在のソリューションで参照されているコンポーネント、.NET Framework クラス ライブラリ、および [カスタム コンポーネント セットの編集] で追加したすべてのコンポーネントが含まれます。

    • [.NET Framework] は、.NET Framework クラス ライブラリだけを検索対象にします。

    • [マイ ソリューション] は、開いているソリューションで定義または参照されているシンボル名だけを検索対象にします。

    • [カスタム コンポーネント セット (オブジェクト ブラウザー)] は、オブジェクト ブラウザー[カスタム コンポーネント セット] 検索スコープに現在追加されているコンポーネントだけを検索対象にします。

    • [カスタム コンポーネント セット (シンボルの検索)] は、[シンボルの検索][カスタム コンポーネント セット] 検索スコープに現在追加されているコンポーネントだけを検索対象にします。

    • [カスタム コンポーネント セットの編集] ダイアログ ボックスを表示して、カスタム指定した検索フォルダーを選択するには、参照ボタン ([...]) をクリックします。 詳細については、「方法: オブジェクト ブラウザー内で参照スコープを変更する」を参照してください。

  5. [検索オプション] で、次の説明に従って目的のオプションを設定します。

    • [単語単位]: 検索文字列と完全に一致する結果のみが表示されるように、結果にフィルターをかけます。 たとえば、MyObject を検索した場合、"MyObject" は返されますが、"CMyObject" や "MyObjectC" は返されません。

    • [プレフィックス]: 検索文字列で始まる結果のみが表示されるように、結果にフィルターをかけます。 たとえば、MyObject を検索した場合、"MyObject" や "MyObjectTest" は返されますが、"CMyObject" は返されません。

    • [部分文字列] を選択すると、検索文字列を含むすべての結果が返されます。 たとえば、MyObject を検索した場合、"MyObject"、"MyObjectTest"、"CMyObject" などが返されます。

    これらのオプションと共に、[大文字と小文字を区別する] をオンにすることもできます。 このオプションをオンにすると、結果にさらにフィルターがかかり、大文字と小文字が検索文字列と一致する結果のみが表示されます。 たとえば、[大文字と小文字を区別する] をオンにして MyObject を検索した場合、"MyObject" は返されますが、"myobject" や "MYOBJECT" は返されません。

    注意

    [検索と置換] の設定は次回の検索でも有効になります。 詳細については、「[シンボルの検索] ([検索と置換] ウィンドウ)」を参照してください。

  6. [検索する文字列] ボックスに、検索する文字列または式を入力します。

    注意

    [シンボルの検索] の検索では、ワイルドカードおよび正規表現は使用できません。

  7. [すべて検索] をクリックして検索を開始します。

    結果は [シンボルの検索結果] ウィンドウに表示されます。 結果の 1 つをダブルクリックすると、コード内で一致する場所に移動できます。

定義への移動

エディターで、コード要素の元の定義を検索するには、その要素を右クリックし、[定義へ移動] をクリックします。 メンバー、型、変数、ローカルなどの要素を検索できます。

[定義へ移動] にはコンパイラの情報が使用されており、オーバーロードや型の推論がコードで使用されていても、Visual Studio からアクセスできる場所であれば、元の定義を特定して表示できます。

コード要素の定義を検索するには

  • エディターで、定義を検索するコード要素を右クリックし、[定義へ移動] をクリックします。

    要素が定義されている元のモジュールにアクセスできる場合は、エディターに新しいタブが追加され、そのモジュールが表示されます。 定義を使用できない場合は、エラー メッセージが表示されます。

参照

処理手順

方法 : オブジェクト ブラウザー内で移動する

参照

[シンボルの検索結果] ウィンドウ

FindSymbol コマンド

[コード定義ウィンドウ]

その他の技術情報

方法: 参照の強調表示を使用する

履歴の変更

日付

履歴

理由

2010 年 8 月

[移動] 機能の情報を変更しました。

コンテンツ バグ修正