功能代碼搜尋
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
使用功能程式代碼搜尋,尋找您需要的更快速程序代碼。 本文說明如何使用程式代碼類型和其他函式,搭配適用於 Azure DevOps 的 程式代碼搜尋 Marketplace 擴充功能,在存放庫之間精簡搜尋。
先決條件
類別 | 先決條件 |
---|---|
存取層級 | - 若要使用程式代碼搜尋:至少 基本 存取。 - 若要存取私有專案中的程式代碼:至少需要 基本 存取。 項目關係人存取不包含程序代碼。 - 若要存取公用專案中的程式代碼:至少 項目關係人 存取權。 |
搜尋結果 | Access 型結果:當您搜尋整個組織或集合時,只會列出項目成員具有存取權的結果。 |
類別 | 要求 |
---|---|
存取層級 | - 若要使用程式代碼搜尋:至少 基本 存取。 - 若要存取私人專案中的程式代碼:需要至少 級基本 級存取。 項目關係人存取不包含程序代碼。 |
搜尋結果 | Access 型結果:當您搜尋整個組織或集合時,只會列出項目成員具有存取權的結果。 |
工具 | 程式代碼搜尋延伸模組 |
程式代碼搜尋最佳做法
- 開始廣泛: 以廣泛的搜尋開始,然後使用篩選運算符來縮小專案、存放庫、路徑、檔名等等。
- 使用 通配符 和 布爾運算符: 如果您不知道確切的字詞,請使用通配符展開搜尋和布爾運算符來精簡它。
- 暫留以取得詳細資訊: 若要取得程式碼專案的詳細資訊,請將滑鼠停留在它上方,並使用快捷方式功能表來搜尋所有專案和檔案中的該文字。
- 追蹤程式代碼功能: 使用快捷鍵選單在檔案或搜尋結果中搜尋定義和參考等相關項目,以了解您程式碼的運作情況。
-
使用程式代碼類型篩選: 若要尋找 API 或其他程式碼專案的實作,請使用程式代碼類型篩選來搜尋特定類型的程式代碼,例如:
- 定義
- 引用
- 功能
- 評論
- 字串
- 命名空間等等
注意
程式碼搜尋不適用於複製的儲存庫。
尋找特定程式代碼類型的函式
若要更快建立查詢,請在輸入文字時,從下拉式清單中選擇函式和關鍵詞。 選擇「顯示更多」以查看所有選項。 您可以視需要結合不同的功能。
您也可以使用左側數據行的篩選來縮小搜尋範圍。 顯示更多 會顯示所有函式和關鍵詞。
或者,您可以在搜尋方塊中輸入函式和參數。 下表列出在 C#、C、C++、Java 和 Visual Basic.NET 程式代碼中尋找特定類型或成員的函式。
若要尋找包含 findThis 的程式代碼... | ...搜尋自變數 自變數:findThis |
---|---|
論點 |
自變數:查找這個Deprecated in July 2019 |
基底類型 | basetype:findThis |
呼叫函式 |
呼叫者:findThisDeprecated in July 2019 |
類別定義或宣告 | 類別:findThis |
類別宣告 |
classdecl:findThisMerged with class: |
類別定義 |
classdef:findThisMerged with class: |
評論 | 批注:findThis |
構造 函數 |
ctor:findThisMerged with method: |
聲明 | decl:findThis |
定義 | def:findThis |
破壞者 |
dtor:findThisMerged with method: |
枚舉 數 | 列舉:findThis |
Extern |
extern:findThisDeprecated in July 2019 |
田 | 字段:findThis |
友元函式 |
朋友:找到這個Deprecated in July 2019 |
功能 |
func:findThisMerged with method: |
函式宣告 |
funcdecl:findThisMerged with method: |
函式定義 |
funcdef:findThisMerged with method: |
全球 |
全域:findThisDeprecated in July 2019 |
頁眉 |
標頭:findThisDeprecated in July 2019 |
介面 | 介面:findThis |
巨集 | 巨集:findThis |
巨集定義 |
宏定義:findThisMerged with macro: |
巨集參考 |
巨集參考:查找此項Merged with macro: |
方法 | 方法:findThis |
方法宣告 |
方法decl:findThisMerged with method: |
方法定義 |
方法定義:findThisMerged with method: |
Namespace | 命名空間:findThis |
財產 | 道具:findThis |
參考 | ref:findThis |
字串字面值 | strlit:findThis |
結構 |
結構:findThisMerged with type: |
結構宣告 |
結構:findThisMerged with type: |
結構定義 |
結構:findThisMerged with type: |
範本自變數 |
tmplarg:查找這個Deprecated in July 2019 |
範本規格 |
tmplspec:findThisDeprecated in July 2019 |
類型 | 類型:findThis |
Typedef |
typedef:findThisMerged with type: |
聯盟 |
聯合:findThisDeprecated in July 2019 |
選取專案、存放庫、路徑和檔案的函式
函式可讓您輕鬆地將搜尋範圍縮小到指定的位置、這些位置內的特定檔案類型,或指定的檔名。 使用 proj
、repo
或 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 模式(**)會比對跨越多個區段的零個或多個字元。 例如,路徑:**/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 |
尋找相關物品或其他詞語
程式代碼搜尋可讓您根據先前的結果,以互動方式展開搜尋。 例如,當您追蹤或偵錯程式代碼時,您可以將搜尋範圍擴大至相關的檔案。
以滑鼠右鍵按下檔案中的字詞,然後針對具有相同字詞的其他檔案開始新的搜尋。 如果它是物件名稱,您可以將它搜尋為文字,或做為定義或參考。
如需詳細資訊,請參閱 搜尋入門指南。
更多程式碼搜尋作業
以下是一些更多程式代碼搜尋函式。 您可以在 C#、C、C++、Java 和 Visual Basic.NET 檔案中搜尋程式代碼類型。 若要在新索引標籤中開啟搜尋結果,請選取 ctrl + 在主搜尋方塊中輸入。 若要切換至 Google Chrome 中的新索引標籤,請選擇 Ctrl + Shift + Enter。
使用量 | 範例 |
---|---|
查找所有批注 | 歷史:關鍵字 |
在您的程式代碼中尋找 「ToDo」 批注的所有實例 | 選取 [comment: ],然後輸入 todo |
在特定位置搜尋,例如在特定路徑內 | 使用搜尋字串,例如 Driver path:MyShuttle/Server |
依名稱搜尋檔案,或僅依擴展名搜尋檔案 |
Driver file:GreenCabs.cs 。 如果您想要檢閱程式碼中的所有錯誤字串,搜尋字串 error ext:resx 可能會很有用。 即使您的純文本搜尋字串符合檔名的一部分,檔案也會出現在找到的檔案清單中。 此搜尋不需要匹配特定文件類型功能即可運作。 |
搜尋 Git 專案和存放庫
Git 專案具有存放庫清單。 若要展開您的搜尋,請檢查專案和存放庫方塊。 您可以搜尋所有或更多專案,或較少的專案和存放庫。 如果有許多專案或存放庫,請選取 [顯示更多 以查看所有專案。
程式代碼搜尋可以在 Git 存放庫中為不同的分支編製索引。 它預設只會為 Git 存放庫預設分支中的檔案編製索引。 默認分支為 main。 若要編制其他分支的索引,請移至 [項目設定] 頁面的 [存放庫] 區段中的 [選項] 索引標籤。
注意
根據預設,程式代碼搜尋會在存放庫的主要或預設分支中尋找指定的字串。 但是,您可以藉由指定特定分支的篩選來縮小搜尋範圍。
搜尋 TFVC 專案
Team Foundation 版本控制 (TFVC) 專案只會顯示您可以讀取的資料夾。 您無法看到任何其他項目或資料夾。 若要篩選您的搜尋,請選擇樹狀結構中的資料夾。
提示
程式代碼搜尋會儲存最後一個設定,例如您搜尋的專案和存放庫或路徑。 當您想要在不同的範圍中搜尋時,請選取 [清除所有連結 清除複選框並搜尋所有專案。 在結果窗格中,Code Search 會將目標檔案中的前 100 項搜尋結果或匹配項目醒目提示。
使用 REST API 搜尋程式代碼
您可以使用 API 來擴充或補充本文所列的功能。 如需使用 REST API 進行程式碼搜尋的詳細資訊,請參閱 擷取程式代碼搜尋結果。