機能コードの検索

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

機能コード検索では、「検索の開始」に記載されている内容を超えて、リポジトリ間で検索を絞り込む機能 拡張されます。 コード検索を実行するには、組織またはコレクションに 対して Code Search Marketplace 拡張機能をインストールする必要があります。

前提条件

詳細については、「検索の インストールと構成」を参照してください。

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

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

  • より高いレベルの検索から始めることで、必要な結果をさらに速く取得できます。 プロジェクト、リポジトリ、パス、ファイル名、およびその他のフィルター演算子を使用して検索を絞り込むことができます。
  • 目的の用語が不明な場合は、ワイルドカードを使用して検索演算子とブール演算子を広げて微調整します
  • 関心のある項目に関する詳細情報を迅速かつ最小限の労力で検索します。 目的の項目が見つかると、カーソルを置き、ショートカット メニューを使用して、すべてのプロジェクトとファイルのテキストをすばやく検索します。
  • ショートカット メニューを使用して定義や参照などの関連項目を検索し、ファイル内または検索結果から直接、コードがどのように動作するかを簡単にトレースできます。
  • たとえば、コードが依存している API の実装にすばやく進み、結果を完全なコード型と一致するように絞り込みます。 コード型フィルターを使用して、次のような特定の種類のコードを検索します。
  • definitions
  • references
  • functions
  • comments
  • 文字列
  • 名前空間など。

Note

フォークされたリポジトリでコードを検索することはできません。

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

検索を入力したら、ドロップダウン リストから関数とキーワードを選択して、クエリをすばやく作成します。 [ その他の表示 ] リンクを使用して、使用可能なすべての関数とキーワードを表示します。 必要に応じて、関数を組み合わせて一致させます。

左側の列の一覧からフィルターの 1 つまたは組み合わせを選択することもできます。 ここでも、[ さらに表示 ] リンクには、使用可能なすべての関数とキーワードが表示されます。

代わりに、関数とパラメーターを直接検索に入力できます。 次の表に、C#、C、C++、Java、Visual Basic.NET コードで特定の型またはメンバーを選択するための関数の一覧を示します。

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

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

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

使用方法
Fabrikam プロジェクトで QueueJobsNow という単語が出現するすべての箇所を検索します。 QueueJobsNow proj:Fabrikam
Contoso リポジトリで QueueJobsNow という単語のすべての出現箇所を検索します。 QueueJobsNow repo:Contoso
VisualStudio/Services/Framework とそのサブパスのパスで、QueueJobsNow という単語のすべての出現箇所を検索します。 QueueJobsNow path:VisualStudio/Services/Framework
引数にスペースが含まれている場合は、引数を二重引用符で囲みます。 QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
ファイル名が queueRegister で始まるすべてのファイルで、QueueJobsNow という単語のすべての出現箇所を検索します。 QueueJobsNow file:queueRegister*
拡張子のない QueueRegister という名前のすべてのファイルを検索します。 拡張子のないファイルを検索するには、引用符を使用します。 file:"queueRegister"
C# ソース ファイルでのみ QueueJobsNow という単語が出現するすべての箇所を検索します。 ファイルの種類の関数を含まないプレーン テキスト検索文字列では、文字列がファイル名の一部と一致するファイルも検索されます。 QueueJobsNow ext:cs

Code Search の強力な機能の 1 つは、以前の検索の結果に基づいて、対話形式で検索を拡張する機能です。 たとえば、コードをトレースまたはデバッグするときに、検索を関連ファイルに簡単に広げることができます。

ファイル内の用語にカーソルを置き、ショートカット メニュー (マウス: 右クリック) を開き、選択した用語を含む他のファイルの新しい検索を開始します。 テキストとして検索したり、オブジェクト名を選択した場合は定義を検索したり、選択したオブジェクトへの参照を検索したりできます。

次の検索機能の詳細については、「検索の 概要」を参照してください。

  • キーワード
  • 完全一致
  • ワイルドカード
  • ブール演算子
  • 近接

その他のコード検索操作

さらに多くのコード検索機能の次の例を参照してください。 C#、C、C++、Java、および Visual Basic.NET で記述されたファイルで、コード型の検索機能を使用できます。 メインの検索ボックスから新しいブラウザー タブで検索結果を開き、Ctrl キーを押しながら Enter キーを + します。 Google Chrome で CtrlShift + Enterキーを押 + して、フォーカスを新しいブラウザー タブに切り替えます。

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

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

Git プロジェクトには、そのプロジェクトに含まれるリポジトリの一覧が表示されます。 検索範囲を広げるには、プロジェクトとリポジトリのチェックボックスを使用します。 より多くのプロジェクトまたはすべてのプロジェクトを検索したり、検索をより少ないプロジェクトやリポジトリに絞り込んだりすることができます。 プロジェクトまたはリポジトリが複数ある場合は、[ もっと表示 ] リンクを使用してすべてを表示します。

コード検索では、Git リポジトリ内の複数のブランチにインデックスを作成できます。 既定では、Git リポジトリの既定のブランチにのみファイルのインデックスが作成されます。 通常、既定のブランチは メイン ブランチです。 各リポジトリのブランチを指定し、[リポジトリ] セクションの [オプション] タブのインデックス作成、プロジェクト設定ページを指定します。

検索に含める Git ブランチを構成する

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

TFVC プロジェクトでは、読み取りアクセス権を持つプロジェクト内のフォルダー パスの一覧が表示されます。読み取りアクセス許可のないプロジェクトやフォルダーは表示されません。 必要に応じて、フォルダー ツリーのパスを選択して検索を絞り込みます。

ヒント

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

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

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

次のステップ