Visual Studio 中的 Copilot Chat 旨在具有上下文感知能力,透過深入了解專案的結構和內容來提供高度相關且量身打造的回應。 本文介紹了 Copilot Chat 如何建構和利用上下文來增強您的編碼工作流程的幕後花絮。
Copilot Chat 如何收集解決方案內容
Copilot Chat 使用多層方法在程式碼庫內建立內容,以確保其建議和答案相關且準確。
程式碼庫索引
如果您的存放庫裝載於 GitHub 或 Azure DevOps,Copilot 會建立程式碼基底的遠端索引,並計算擷取程式碼中模式和關聯性的內嵌。 深入瞭解 GitHub 上的遠端索引。
如果您的程式碼裝載在其他地方,Copilot 會建置本機索引。
語意搜尋
根據您的提示,Copilot 可能會判斷需要更多專案內容才能準確回應。 在這種情況下,它會在遠端或本機索引上執行語意搜尋。
與匹配精確單詞的傳統搜索不同,語義搜索側重於含義。 使用進階向量內嵌,Copilot 會識別與您的請求具有最高語義相似度的檔案,並將其新增至其內容中。
這些檔案補充了系統提示、說明、隱含內容(例如聊天記錄和開啟的檔案)以及您提供的任何露骨內容,例如錯誤。
瞭解如何在聊天室中 新增參考資料做為內容 。
Copilot Chat 如何套用程式碼建議
Copilot Chat 經常在其回應中提供程式碼建議。 這些建議必須準確對應到您的程式碼庫,然後才能套用和測試。
模型型程式碼對應
Copilot Chat 使用推測解碼將建議準確插入現有文件,從而降低出錯風險。 在代理程式模式下,這可讓 Copilot 進行可靠的編輯,以支援獨立建置、偵錯和測試程式碼。
Copilot 記憶
Copilot 記憶體能讓 Copilot 瞭解專案中的特定編碼標準和最佳實踐,使其具備專案識別能力,並在會話之間保持一致性。
Copilot 記憶的運作方式
記憶會使用智慧偵測,當您在聊天中提示時,了解您團隊的偏好。 當您提示時,Copilot 會識別您更正其行為、指示標準或要求它記住某些內容的實例。
當偵測到此類實例時,您會看到一個提示以確認儲存偏好設定。
然後,Copilot 會將偏好設定分類為三個檔案之一:
-
.editorconfig針對編碼標準 -
CONTRIBUTING.md以取得最佳實務、指導方針和架構標準。 -
README.md用於高層次項目資訊
當您繼續提示 Copilot 時,您可以教導它更有效地回應您的需求,並透過記錄開發最佳做法來增強其未來 Copilot 互動,以協助您的小組。