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

IntelliCode 作为以下工作负载的一部分包含在 Visual Studio 2019 版本 16.4 中

  • Azure 开发
  • .NET 桌面开发
  • 使用 .NET 的移动开发
  • 使用 Unity 的游戏开发
  • .NET Core 跨平台开发
  • ASP.NET 和 Web 开发
  • 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,请关闭其自动完成功能。

如果禁用覆盖 IntelliSense UI 的扩展无法为你解决问题,请使用 Visual Studio 报告问题功能报告此问题,并在报告中提及 IntelliCode。

遥测

IntelliCode 会捕获一些匿名使用情况和错误报告数据,以帮助改进产品。 不会向 Microsoft 发送用户定义代码,但是我们会收集关于使用 IntelliCode 结果的信息。 对于基础模型建议(开放源代码或 .NET 类型和成员),我们会捕获你是否选择了 IntelliCode 建议并记录建议的名称。 Microsoft 使用此数据来监视基础模型的质量。 对于自定义模型,我们会捕获你是否选择了 IntelliCode 建议,但不会记录用户定义类型或方法的名称。

若要关闭 IntelliCode 的数据收集,请选择退出 Visual Studio 体验改善计划。 从菜单栏选择“帮助”>“发送反馈”>“设置”。 在“Visual Studio 体验改善计划”对话框中,选择“不,我不想参加”,然后选择“确定”

另请参阅