编写代码时的 AI 帮助

IntelliCode 整行自动完成功能根据当前代码预测下一个代码区块,并呈现为灰色文本内联预测。 想想在键入电子邮件时看到的灰色文本自动完成,只不过此处用于代码。

此功能支持 Visual Studio 2022 中的 C# 。

Visual Studio 中 IntelliCode 整行完成的屏幕截图。

工作原理

IntelliCode 使用大规模转换器模型,该模型在来自 GitHub 的约 50 万个公共开源存储库上进行训练。 此模型基于对到目前为止你已编码内容的丰富知识储备,预测接下来你将输入的内容,包括:

  • 变量名称和位置
  • 你使用的库
  • 附近代码中的函数
  • IntelliSense 列表

此模型在您的本地计算机上运行,因此该功能可以在脱机和物理隔离环境中使用。 此功能支持 C# 。

两种模式

IntelliCode 以两种方式提供完成 - 一种是在用户键入内容时,第二种是用户在 IntelliSense 列表中选择了项时。

模式 1:键入时整行自动完成

当用户键入时,我们将显示整行自动完成,可通过“按 Tab 键接受”来采纳。若要取消预测,可以使用 EscDelete 键。

显示“按 Tab 键接受”整行完成的屏幕截图。

模式 2:选择 IntelliSense 项时的整行自动完成

如果用户选择了 IntelliSense 列表中的项,IntelliCode 将使用用户键入的内容 + 用户选择的内容作为提供预测的上下文。 在此示例中,将看到“要接受的选项卡”预测。 第一个选项卡接受 IntelliSense 列表中的选定项,第二个选项卡接受整行完成。 若要消除预测,可以使用 EscDelete 键。

显示“按 Tab 键接受”所选完成项和整行完成的屏幕截图。

接受或消除整行完成

默认情况下,Tab 键用于接受整行自动完成。 若要将默认接受键更改为向右键,请转到 工具>选项>IntelliCode ->高级

启用名为 Apply completions for whole lines on right arrow的设置。

“设置”菜单的屏幕截图,该菜单用于设置为使用右箭头接受整行完成。

启用设置 Apply whole line completions on right arrow

“设置”菜单的屏幕截图,该菜单用于设置为使用右箭头接受整行完成。

若要取消整行自动完成功能,可以使用 ESCDelete 键。

隐私

请参阅隐私

控制整行自动完成

可以使用编辑器右下角显示的小型紫色灯泡(在缩放控件旁)控制全线自动完成功能。

打开或关闭 IntelliCode 全行自动完成功能的设置屏幕截图。

第一个设置 Show completions for lines of code 允许您开启或关闭整行代码自动完成功能。

启用第二个设置 Wait for pauses in typing before showing line completions后,仅在用户暂停键入时,全行自动完成功能才会显示。 如果发现全行自动完成在默认模式下分散注意力,你可能更喜欢此选项。

第三种设置为 Show completions on new lines,可以根据输入新行时是否想要查看整行自动完成来启用或关闭该设置,即按 ReturnEnter

工具选项IntelliCode常规中,设置 Show inline completions 允许打开或关闭全行自动完成。

“高级”选项卡具有更多选项。

用于启用或禁用 IntelliCode 整行自动完成功能的设置屏幕截图。

第一个设置 Apply whole line completions on right arrow 已在本文前面讨论过。

第二个设置 Disable suggestions while debugging 允许你在调试时尽量减少干扰。

第三种设置为 Show inline completions on new lines,可以根据输入新行时是否想要查看整行自动完成来启用或关闭该设置,即按 ReturnEnter

最后一个设置为 Wait for pauses in typing before showing line completions,启用后,系统将仅在暂停键入时显示整行自动完成。 如果发现全行自动完成在默认模式下分散注意力,你可能更喜欢此选项。

提供反馈

单击 Visual Studio 右上角的“反馈”图标,提交反馈票证。 (可选)可以将 IntelliCode 日志文件上传到反馈票证,以便向我们提供其他上下文。 请确保查看日志文件的内容,并解决可能涉及的任何隐私问题。 此数据与我们共享时,不会用于提供支持帮助以外的任何目的。 可以在 %LOCALAPPDATA%\Temp\VSFeedbackIntelliCodeLogs 找到日志

提交 IntelliCode 反馈的屏幕截图。

后续步骤

请参阅隐私