Visual Studio IntelliCode 概述

IntelliCode for Visual Studio 提供以下功能:

  • 多种语言的 AI 辅助 IntelliSense,可预测供开发者使用的最可能正确的 API,而不仅仅是按字母顺序排列的成员列表。 它使用开发人员当前的代码上下文和模式来提供此动态列表。

    对于 C# 用户,除了提供成员建议外,IntelliCode 还提供了参数完成。 此功能对你在调用方法时最有可能使用的参数名称进行星号标记,并将这些建议放置在完成列表的顶部。 当开始在括号中键入内容或按 Ctrl+空格时,将出现完成列表。

    Argument completion in IntelliCode for Visual Studio

    Visual Studio 2022 及更高版本的 C# 开发人员也受益于整行完成,它根据当前代码预测下一个代码区块,并呈现为内联预测。

    C# Whole line completions in Visual Studio

  • 基于你自己的代码的 AI 辅助 IntelliSense 建议(仅限 C#)。

  • 推断代码样式和格式设置约定,以从代码库中动态创建 .editorconfig 文件(仅限 C#)。

  • 建议:IntelliCode 在本地跟踪编辑内容,检测出执行重复的操作,并在其他类似的位置应用相同的操作(仅限 C#)。

    Suggestions for C# in Visual Studio

预览功能

某些 IntelliCode 功能仍处于预览状态,这意味着无法保证在将来也提供支持。 预览功能默认为禁用状态。 若要启用或禁用 IntelliCode 预览功能,请选择“工具”>“选项”>“IntelliCode”。 在“预览功能”下方,选择“启用”、“禁用”或“默认”来配置每项功能。

支持的语言

AI 辅助 IntelliSense 完成支持的语言包括:

  • C#
  • XAML
  • C++
  • JavaScript 和 TypeScript
  • Visual Basic

如何设置 IntelliCode?

自 Visual Studio 2019 版本 16.4 起,如果你安装了受支持的工作负载,则 IntelliCode 可作为内置功能使用。

若要查看某些语言的 AI 辅助 IntelliSense,可能需要更新的版本:

  • JavaScript 和 TypeScript 需要 TypeScript 3.4.2 或更高版本

支持的工作负荷

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 建议,则可能是安装了重写 IntelliSense UI 的扩展。 这可防止 IntelliCode“加星标”建议出现在列表顶部。 你可以通过关闭扩展然后再次尝试 IntelliSense 来验证是否由于扩展导致此行为。 或者,如果扩展支持 IntelliSense,请关闭其自动完成功能。

如果这样无法解决问题,请使用 Visual Studio 报告问题功能报告此问题,并在报告中提及 IntelliCode。

遥测

IntelliCode 会捕获一些匿名使用情况和错误报告数据,以帮助改进产品。 不会向 Microsoft 发送用户定义代码,但是我们会收集关于使用 IntelliCode 结果的信息。

对于基础模型建议(开放源代码或 .NET 类型和成员),我们会捕获你是否选择了 IntelliCode 建议并记录建议的名称。 Microsoft 使用此数据来监视基础模型的质量。 对于自定义模型,我们会捕获你是否选择了 IntelliCode 建议,但不会记录用户定义类型或方法的名称。

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

若要创建从你自己的 C# 代码中学习模式的模型,需要登录到 Visual Studio,以便能够使用模型训练服务。 训练服务仅收集创建模型所需的最小数据。 Microsoft 将经过训练的模型安全保留到你的帐户,因此,仅你与你选择与之共享的人员可以访问它们。 模型及其从代码中学习到的内容一直为你私有。 有关详细信息,请参阅数据和隐私

提供反馈

若要报告 Visual Studio IntelliCode bug,请使用“帮助”>“发送反馈”>“报告问题”菜单。 如果在提交报告之前重现此问题,报告中将自动包含日志。

对于功能请求,请单击本页底部的“发送有关以下内容的反馈”>“此产品”按钮,以记录新问题。 请提及这是一个功能请求。

另请参阅