编写代码时的 AI 帮助

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

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

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

工作原理

IntelliCode 使用大规模转换器模型,该模型在来自 GitHub 的约 50 万个公共开源存储库上进行训练。 此模型通过充分掌握至今的已编码内容来预测接下来要键入的内容,这些内容包括:

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

该模型在本地计算机上运行,该功能可在脱机和空隙环境中使用。 此功能支持 C#。

两种模式

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

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

当用户键入时,我们将显示整行自动完成,可以通过“要接受的选项卡”来接受。若要消除预测,可以使用 EscDelete 键。

显示“Tab to accept”整行自动完成的屏幕截图。

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

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

显示“Tab 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 反馈的屏幕截图。

后续步骤

请参阅隐私相关信息