機能コードの検索
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
機能コード検索を使用して、必要なコードをより速く見つけます。 この記事では、Azure DevOps 用の Code Search Marketplace 拡張機能を使用して、コードの種類やその他の関数を 使用して、リポジトリ全体で検索 を絞り込む方法について説明します。
前提条件
詳細については、「検索のインストールと構成」を参照してください。
- コード検索を使用するには、少なくとも Basic アクセス権が必要です。
- 利害関係者アクセス権を持つユーザーはコードにアクセスできないため、コードを検索できません。
- パブリック プロジェクトの利害関係者アクセス権を持つユーザーは、コードを検索できるように、コードへのフル アクセス権を持っています。 プライベート プロジェクトのコードにアクセスするには、少なくとも Basic アクセス権が必要です。
- 組織全体またはコレクションを検索する場合、プロジェクト メンバーがアクセス権を持つ結果のみが一覧表示されます。
コード検索のベスト プラクティス
- 広範な検索から始めて、フィルター演算子を使用して、プロジェクト、リポジトリ、パス、ファイル名などを絞り込みます。
- 正確な用語がわからない場合は、ワイルドカードを使用して検索演算子とブール演算子を展開して絞り込みます。
- コード項目の詳細を取得するには、その上にマウス ポインターを置き、ショートカット メニューを使用して、すべてのプロジェクトとファイルでそのテキストを検索します。
- コードの動作を追跡するには、ショートカット メニューを使用して、ファイルや検索結果の定義や参照などの関連項目を検索します。
- API またはその他のコード要素の実装を見つけるには、コード型フィルターを使用して、次のような特定の種類のコードを検索します。
- 定義
- references
- functions
- comments
- 文字列
- 名前空間など。
Note
フォークされたリポジトリのコード検索は機能しません。
特定の種類のコードを検索する関数
クエリをすばやく作成するには、入力時にドロップダウン リストから関数とキーワード (keyword)を選択します。 [詳細を表示] を選択すると、すべてのオプションが表示されます。 必要に応じて、さまざまな関数を組み合わせることができます。
左側の列のフィルターを使用して、検索を絞り込むこともできます。 さらに表示すると、すべての関数とキーワード (keyword)が表示されます。
または、検索ボックスに関数とパラメーターを入力することもできます。 次の表に、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 |
Definition | def:findThis |
デストラクターです。 | dtor:findThisMerged with method: |
列挙子 | enum:findThis |
Extern | extern:findThisDeprecated in July 2019 |
フィールド | field:findThis |
Friend 関数 | 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 | interface:findThis |
マクロ | macro:findThis |
マクロ定義 | macrodef:findThisMerged with macro: |
マクロ リファレンス | macroref:findThisMerged with macro: |
メソッド | 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: |
テンプレート引数 | tmplarg:findThisDeprecated in July 2019 |
テンプレートの仕様 | tmplspec:findThisDeprecated in July 2019 |
Type | type:findThis |
Typedef | typedef:findThisMerged with type: |
Union (結合) | union:findThisDeprecated in July 2019 |
プロジェクト、リポジトリ、パス、およびファイルを選択する関数
関数を使用すると、指定した場所、これらの場所内の特定の種類のファイル、または指定したファイル名に検索を簡単に絞り込めます。 、またはpath
フィルターを使用して、検索を特定の場所にproj
repo
絞り込みます。 必要に応じて、次の関数を組み合わせて一致させます。
使用方法 | 例 |
---|---|
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/Doc A/gh/Framework/テストのその他にも一致します。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 |
関連項目またはその他の用語を検索する
コード検索を使用すると、以前の結果に基づいて対話的に検索を拡張できます。 たとえば、コードをトレースまたはデバッグするときに、検索を関連ファイルに拡大できます。
ファイル内の用語を右クリックし、同じ用語を持つ他のファイルの新しい検索を開始します。 テキストとして検索することも、オブジェクト名の場合は定義または参照として検索することもできます。
次の検索機能の詳細については、「検索の開始」を参照してください 。
- Keyword
- 完全一致
- ワイルドカード
- ブール演算子
- 近接
その他のコード検索操作
その他のコード検索機能を次に示します。 C#、C、C++、Java、および Visual Basic.NET ファイルでコードの種類を検索できます。 検索結果を新しいタブで開くには、メイン検索ボックスから Ctrl Enter キー + を押します。 Google Chrome で新しいタブに切り替えるには、Ctrl キーを押しながら + Enter キーを押 + します。
使用方法 | 例 |
---|---|
すべてのコメントを検索する | History:Keyword |
コード内の "ToDo" コメントのすべてのインスタンスを検索する | 選択 comment: して入力する todo |
特定の場所 (特定のパス内など) で検索する | 次のような検索文字列を使用する Driver path:MyShuttle/Server |
名前またはファイル拡張子だけでファイルを検索する | Driver file:GreenCabs.cs . 検索文字列 error ext:resx は、コード内のすべてのエラー文字列を確認する場合に便利です。 プレーンテキスト検索文字列がファイル名の一部と一致する場合でも、ファイルは見つかったファイルの一覧に表示されます。 この検索は、特定のファイルの種類の関数を一致させることなく機能します。 |
Git プロジェクトとリポジトリを検索する
Git プロジェクトにはリポジトリの一覧があります。 検索を展開するには、プロジェクトボックスとリポジトリボックスをチェックします。 すべてのプロジェクトまたは複数のプロジェクトを検索することも、プロジェクトとリポジトリを少なくすることもできます。 プロジェクトまたはリポジトリが多数ある場合は、[詳細を表示] を選択してすべてを表示します。
コード検索では、Git リポジトリ内のさまざまなブランチのインデックスを作成できます。 既定では、Git リポジトリの既定のブランチ内のファイルにのみインデックスが作成されます。 通常、既定のブランチはメイン。 他のブランチのインデックスを作成するには、プロジェクト設定ページの [リポジトリ] セクションの [オプション] タブに移動します。
TFVC プロジェクトを検索する
TFVC プロジェクトには、読み取ることができるフォルダーのみが表示されます。 他のプロジェクトやフォルダーは表示されません。 検索をフィルター処理するには、ツリーからフォルダーを選択します。
ヒント
コード検索では、プロジェクトやリポジトリ、検索したパスなどの最後の設定が保存されます。 別のスコープで検索する場合は、[すべてのリンクをクリア] を選択してチェックボックスをクリアし、すべてのプロジェクトを検索します。 ターゲット ファイル内の最初の 100 件のヒットまたは一致が、結果ウィンドウのコード検索によって強調表示されます。
REST API を使用してコードを検索する
API を使用して、この記事に記載されている機能を拡張または補完できます。 REST API を使用したコード検索の詳細については、「コード検索結果のフェッチ」を参照してください。
次のステップ
関連記事
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示