次の方法で共有


機能コードの検索

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

機能コード検索を使用して、必要なコードをより速く見つけます。 この記事では、Azure DevOps の Code Search Marketplace 拡張機能を使用して、コードの種類やその他の関数を使用して、リポジトリ全体の検索を絞り込む方法について説明します。

前提条件

  • アクセス レベル:
    • 基本的なアクセス:
      • コード検索を使用するには、少なくとも Basic アクセス権が必要です。
      • プライベート プロジェクトのコードにアクセスするには、少なくとも Basic アクセス権が必要です。
    • 利害関係者アクセス:
      • 利害関係者アクセス権を持つユーザーはコードにアクセスできないため、コードを検索できません。
      • パブリック プロジェクトの利害関係者アクセス権を持つユーザーは、コードを検索できるように、コードへのフル アクセス権を持っています。
  • 検索結果:
    • アクセスベースの結果: 組織全体またはコレクション全体で検索する場合、プロジェクト メンバーがアクセス権を持つ結果のみが一覧表示されます。
  • アクセス レベル:
    • 基本的なアクセス:
      • コード検索を使用するには、少なくとも Basic アクセス権が必要です。
      • プライベート プロジェクトのコードにアクセスするには、少なくとも Basic アクセス権が必要です。
    • 利害関係者アクセス:
      • 利害関係者アクセス権を持つユーザーはコードにアクセスできないため、コードを検索できません。
  • 検索結果:
    • アクセスベースの結果: 組織全体またはコレクション全体で検索する場合、プロジェクト メンバーがアクセス権を持つ結果のみが一覧表示されます。
  • ツール:

コード検索のベスト プラクティス

  • broad: 広範な検索から始めてから、フィルター演算子を使用して、プロジェクト、リポジトリ、パス、ファイル名などを絞り込みます。
  • wildcardsおよびboolean 演算子を使用します: 正確な用語がわからない場合は、ワイルドカードを使用して検索演算子とブール演算子を拡張して絞り込みます。
  • 詳細情報: コード項目に関する詳細情報を取得するには、その項目をポイントし、ショートカット メニューを使用して、すべてのプロジェクトとファイルでそのテキストを検索します。
  • トレース コード機能: ショートカット メニューを使用して、ファイル内の定義や参照などの関連項目を検索したり、検索結果でコードの動作を追跡したりできます。
  • コード型フィルターを使用する: API またはその他のコード要素の実装を検索するには、コード型フィルターを使用して、次のような特定の種類のコードを検索します。
    • 定義
    • 関連情報
    • 関数
    • Comments
    • 文字列
    • 名前空間など

Note

フォークされたリポジトリのコード検索は機能しません。

特定の種類のコードを検索する関数

クエリをより迅速に作成するには、テキストを入力するときに、ドロップダウン リストから関数とキーワードを選択します。 [その他 表示 を選択して、すべてのオプションを表示します。 必要に応じて、さまざまな関数を組み合わせることができます。

左側の列のフィルターを使用して、検索を絞り込むこともできます。 詳細を表示 には、すべての関数とキーワードが表示されます。

または、検索ボックスに関数とパラメーターを入力することもできます。 次の表に、C#、C、C++、Java、および Visual Basic.NET コードで特定の型またはメンバーを検索するための関数を示します。

findThisが ... として表示されるコードを検索するには ...引数 arg:findThis を検索します
引数 arg:findThis Deprecated in July 2019
基本型 basetype:findThis
関数の呼び出し caller:findThis Deprecated in July 2019
クラス定義または宣言 class:findThis
クラス宣言 classdecl:findThis Merged with class:
クラス定義 classdef:findThis Merged with class:
コメント comment:findThis
Constructor ctor:findThis Merged with method:
宣言 decl:findThis
Definition def:findThis
デストラクターです。 dtor:findThis Merged with method:
列挙子 enum:findThis
Extern extern:findThis Deprecated in July 2019
フィールド field:findThis
Friend 関数 friend:findThis Deprecated in July 2019
機能 func:findThis Merged with method:
関数宣言 funcdecl:findThis Merged with method:
関数定義 funcdef:findThis Merged with method:
グローバル global:findThis Deprecated in July 2019
ヘッダー header:findThis Deprecated in July 2019
Interface interface:findThis
マクロ macro:findThis
マクロ定義 macrodef:findThis Merged with macro:
マクロ リファレンス macroref:findThis Merged with macro:
メソッド method:findThis
メソッド宣言 methoddecl:findThis Merged with method:
メソッドの定義 methoddef:findThis Merged with method:
名前空間 namespace:findThis
プロパティ prop:findThis
リファレンス ref:findThis
文字列リテラル strlit:findThis
構造体 struct:findThis Merged with type:
構造体宣言 structdecl:findThis Merged with type:
構造体の定義 structdef:findThis Merged with type:
テンプレート引数 tmplarg:findThis Deprecated in July 2019
テンプレートの仕様 tmplspec:findThis Deprecated in July 2019
Type type:findThis
Typedef typedef:findThis Merged with type:
Union (結合) union:findThis Deprecated in July 2019

プロジェクト、リポジトリ、パス、およびファイルを選択する関数

関数を使用すると、指定した場所、これらの場所内の特定の種類のファイル、または指定したファイル名に検索を簡単に絞り込めます。 projrepo、またはpathフィルターを使用して、検索を特定の場所に絞り込みます。 必要に応じて、次の関数を組み合わせて一致させます。

使用方法
Fabrikam プロジェクトで、 QueueJobsNow という単語が出現するすべての箇所を検索します。 QueueJobsNow proj:Fabrikam
Contoso リポジトリで、 QueueJobsNow という単語が出現するすべての箇所を検索します。 QueueJobsNow repo:Contoso
パス VisualStudio/Services/Framework とそのサブパスで、QueueJobsNow のすべての出現箇所を検索します。 QueueJobsNow path:VisualStudio/Services/Framework
パス */Doc*/Framework/* および */Doc*/*/Framework/* とそのサブパスで、QueueJobsNow のすべての出現箇所を検索します。 Globbing Pattern (**) は、複数のセグメントにわたって 0 個以上の文字と一致します。 たとえば、path:**/Doc**/Framework は abc/DocTest/gh/ijk/mnop/Framework にも一致します/ QueueJobsNow path:**/Doc**/Framework
パス */Doc*/Framework/* とそのサブパスとファイル名 Test*.txt で、QueueJobsNow のすべての出現箇所を検索します (Globbing パターン **を使用)。 たとえば、path:**/Doc**/Framework/**/Test*.txt は abc/def/DocA/gh/Framework/TestMisc. と一致しますtxt QueueJobsNow path:**/Doc**/Framework/**/Test*.txt
スペースが含まれている場合は、フィルターの引数を二重引用符で囲みます。 QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
ファイル名が queueRegister で始まるすべてのファイルで、QueueJobsNow という単語のすべての出現箇所を検索します。 QueueJobsNow file:queueRegister*
拡張子のない名前の QueueRegister を持つすべてのファイルを検索します。 拡張子のないファイルを検索するには、引用符を使用します。 file:"queueRegister"
C# ソース ファイルでのみ、 QueueJobsNow のすべての出現箇所を検索します。 ファイル型関数を含まないプレーンテキスト検索文字列は、文字列がファイル名の一部と一致するファイルも検索します。 QueueJobsNow ext:cs

コード検索を使用すると、以前の結果に基づいて対話的に検索を拡張できます。 たとえば、コードをトレースまたはデバッグするときに、検索を関連ファイルに拡大できます。

ファイル内の用語を右クリックし、同じ用語を持つ他のファイルの新しい検索を開始します。 テキストとして検索することも、オブジェクト名の場合は定義または参照として検索することもできます。

詳細については、「 Get started with search」を参照してください。

その他のコード検索操作

その他のコード検索機能を次に示します。 C#、C、C++、Java、および Visual Basic.NET ファイルでコードの種類を検索できます。 検索結果を新しいタブで開くには、メインの検索ボックスから Ctrl + Enter を選択します。 Google Chrome で新しいタブに切り替えるには、 Ctrl + Shift + Enter を選択します。

使用方法
すべてのコメントを検索する History:Keyword
コード内の "ToDo" コメントのすべてのインスタンスを検索する comment: を選択し、todo と入力します
特定の場所 (特定のパス内など) で検索する 次のような検索文字列を使用する Driver path:MyShuttle/Server
名前またはファイル拡張子だけでファイルを検索する Driver file:GreenCabs.cs. 検索文字列 error ext:resx は、コード内のすべてのエラー文字列を確認する場合に役立ちます。 プレーンテキスト検索文字列がファイル名の一部と一致する場合でも、ファイルは見つかったファイルの一覧に表示されます。 この検索は、特定のファイルの種類の関数を一致させることなく機能します。

Git プロジェクトとリポジトリを検索する

Git プロジェクトにはリポジトリの一覧があります。 検索を展開するには、プロジェクトとリポジトリのボックスをオンにします。 すべてのプロジェクトまたは複数のプロジェクトを検索することも、プロジェクトとリポジトリを少なくすることもできます。 プロジェクトまたはリポジトリが多数ある場合は、 [その他の表示 ] を選択して、すべてを表示します。

コード検索では、Git リポジトリ内のさまざまなブランチのインデックスを作成できます。 既定では、Git リポジトリの既定のブランチ内のファイルにのみインデックスが作成されます。 既定のブランチがメインです。 他のブランチのインデックスを作成するには、project 設定ページの Repositories セクションの Options タブに移動します。

Note

既定では、コード検索では、リポジトリのメインまたは既定のブランチで指定された文字列が検索されます。 ただし、特定の分岐のフィルターを指定することで、検索を絞り込むことができます。

構成用の Git ブランチを示すスクリーンショット。

TFVC プロジェクトを検索する

TFVC プロジェクトには、読み取ることができるフォルダーのみが表示されます。 他のプロジェクトやフォルダーは表示されません。 検索をフィルター処理するには、ツリーからフォルダーを選択します。

ヒント

コード検索では、プロジェクトやリポジトリ、検索したパスなどの最後の設定が保存されます。 別のスコープで検索する場合は、[すべてのリンク クリア チェックボックスをオフにして、すべてのプロジェクトを検索します。 ターゲット ファイル内の最初の 100 件のヒットまたは一致が、結果ウィンドウのコード検索によって強調表示されます。

REST API を使用してコードを検索する

API を使用して、この記事に記載されている機能を拡張または補完できます。 REST API を使用したコード検索の詳細については、「 Fetch Code Search Results」を参照してください。

次のステップ