IntelliCode:Visual Studio 中的 AI 輔助程式碼開發

GitHub CopilotGitHub Copilot Chat 和 IntelliCode 支援在 Visual Studio 中進行 AI 輔助開發,幫助您在撰寫程式碼時更有生產力且更有效率。

在本文中,您將了解 Visual Studio IntelliCode 如何使用人工智慧來增強軟體開發,例如傳遞內容感知程式碼自動完成,包括灰色文字中的整行完成。 IntelliCode 預設包含在大部分 Visual Studio 工作負載中,且可透過 Visual Studio 安裝程式取得。 這項功能會預測開發人員所使用最可能正確的方法或屬性,而不只是依字母順序排列的清單。 會使用開發人員的目前程式碼內容和模式,以提供動態清單。

除了提供成員建議之外,IntelliCode 也提供「引數自動完成」。 這項功能會在您呼叫方法並將那些建議放在自動完成清單頂端時,將您最有可能使用的引數名稱加上星號。 自動完成清單會在您開始在括弧內鍵入或按下 Ctrl+空格鍵時出現。

Screenshot of argument completion in IntelliCode for Visual Studio.

IntelliCode 會在本機追蹤您的編輯、偵測您何時執行重複動作,並提供建議,以在其他類似位置套用相同的動作 (僅限 C#)。 Screenshot of suggestions for C# in Visual Studio.

內容感知程式碼自動完成

IntelliCode 為多種語言提供 AI 輔助的 IntelliSense。 IntelliCode 建議會顯示在完成清單的頂端,旁邊帶有星星圖示:

Screenshot of starred IntelliSense suggestions using IntelliCode in Visual Studio.

完成清單會為開發人員提供正確性最高的 API,而不僅僅是按字母順序排列來呈現成員清單。 IntelliCode 使用開發人員目前的程式碼內容,以及基於 GitHub 上數千個高品質的開放原始碼專案來提供此動態清單。 結果會形成一個能預測最可能和最相關之 API 呼叫的模型。

Screenshot of C# whole-line autocompletions in Visual Studio.

Visual Studio 2022 和更新版本的 C# 開發人員也受益於整行自動完成,其會根據您目前的程式碼預測下一個程式碼區塊,並將其呈現為內嵌預測。

注意

IntelliCode 的功能有些仍處於預覽狀態,表示無法保證未來的支援。 預設會停用預覽功能。 若要啟用或停用 IntelliCode 預覽功能,請選擇 [工具]>[選項]>[IntelliCode]。 在 [預覽功能] 下,選擇 [啟用]、[停用] 或 [預設] 以設定各項功能。

安裝 Visual Studio 的 IntelliCode

  1. 下載 Visual Studio 16.4 版或更新版本。
  2. 安裝支援的工作負載,例如 .NET 桌面開發。 預設會安裝 Visual Studio IntelliCode。

若要關閉星號 IntelliSense 建議,請從功能表中選擇 [延伸模組]>[管理延伸模組],接著尋找並選取 IntelliCode 延伸模組,然後按一下 [停用] 以停用延伸模組。

支援的語言和工作負載

AI 輔助 IntelliSense 完成支援的語言包括:

  • C#
  • XAML
  • C++
  • JavaScript 和 TypeScript,這需要 TypeScript 3.4.2 或更新版本
  • Visual Basic

Visual Studio 2019 16.4 版內含 IntelliCode,為下列任一工作負載的一部分:

  • Azure 開發
  • .NET 桌面開發
  • 使用 .NET 的行動應用程式開發
  • 使用 Unity 進行遊戲開發
  • .NET Core 跨平台開發
  • ASP.NET 和網頁程式開發
  • Visual Studio 延伸模組開發
  • 通用 Windows 平台開發
  • Office/SharePoint 程式開發
  • 使用 C++ 的傳統型開發
  • 使用 C++ 進行遊戲開發
  • 使用 C++ 進行行動開發
  • 使用 C++ 進行 Linux 開發

小組完成

舊版 IntelliCode 提供在程式碼上定型模型的方式,為小組特定的 API 架構、程式庫和其他使用者專案提供已排序的方法完成。 這項功能已取代為在電腦上執行的深度學習模型,且可供 C# 使用者自由使用。 請參閱從 IntelliCode 自訂小組完成模型升級至深度學習。 所有 Visual Studio 使用者皆可免費使用 IntelliCode。

如果您是 C++ 使用者,您可以訂閱 GitHub Copilot 以進行 AI 輔助程式碼開發。 GitHub Copilot 和 Visual Studio IntelliSense 會共同運作,以改善程式碼完成;請參閱 Visual Studio 的 IntelliSense 清單現在可以引導 GitHub Copilot 程式碼完成。 GitHub Copilot 需要訂用帳戶,但您可以使用免費試用來進行評估。

針對 Visual Studio 中的 IntelliCode 錯誤進行疑難排解

如果看不到任何 IntelliCode 建議,您可能安裝了會覆寫 IntelliSense UI 的延伸模組。 此類延伸模組可能會導致 IntelliCode「星號」建議無法出現在清單頂端。 您可以藉由關閉延伸模組,然後再試一次 IntelliSense,確認延伸模組是否導致此行為。 或者,如果延伸模組支援,請關閉其自動完成功能。

如果停用覆寫 IntelliSense UI 的延伸模組無法為您解決問題,請使用 Visual Studio 的回報問題功能來進行回報,並在回報時提及 IntelliCode。

遙測

IntelliCode 會擷取一些匿名的使用方式和錯誤報告資料,以幫助改善產品。 不會傳送任何使用者定義的程式碼給 Microsoft,但我們會收集您使用 IntelliCode 結果的相關資訊。 若是屬於開放原始碼或 .NET 類型和成員的基本模型建議,我們會針對您是否選取了 IntelliCode 建議進行擷取,並記錄該建議的名稱。 Microsoft 會使用該資料來監視基本模型的品質。 若是自訂模型,我們會針對您是否選取了 IntelliCode 建議進行擷取,但「不會」記錄您使用者定義型別或方法的名稱。

若要關閉 IntelliCode 的資料收集,請選擇退出 Visual Studio 經驗改進計畫。 從功能表列中,選取 [協助]>[傳送意見反應]>[設定]。 在 [Visual Studio 經驗改進計畫] 對話方塊中,選取 [否,我不願意參與],然後選取 [確定]

另請參閱