🎀🎀🎀【AI辅助编程系列】🎀🎀🎀
- Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码
- Visual Studio 安装和管理 GitHub Copilot
- Visual Studio 使用 GitHub Copilot 扩展
- Visual Studio 使用 GitHub Copilot 聊天
- Visual Studio 使用 GitHub Copilot 协助调试
- Visual Studio 使用 IntelliCode AI 辅助代码开发
- Visual Studio 玩转 IntelliCode AI辅助开发
文章目录
- 一、前言📋
- 二、工作原理🧮
- 三、两种模式🎭
-
- [3.1 模式 1:键入时整行自动完成](#3.1 模式 1:键入时整行自动完成)
- [3.2 模式 2:选择 IntelliSense 项时的整行自动完成](#3.2 模式 2:选择 IntelliSense 项时的整行自动完成)
- 四、接受或消除整行完成🎏
- 五、控制整行自动完成🪧
- [六、 编辑代码时的 AI 辅助🤖](#六、 编辑代码时的 AI 辅助🤖)
- [七、 提供多条灯泡建议💡](#七、 提供多条灯泡建议💡)
- 八、总结🎯
一、前言📋
IntelliCode
整行自动完成功能根据当前代码 预测
下一个 代码区块
,并呈现为灰色文本 内联预测
。 想想在键入电子邮件时看到的灰色文本自动完成,只不过此处用于代码。
此功能支持 Visual Studio 2022 中的 C#。
二、工作原理🧮
IntelliCode
使用大规模转换器模型,该模型在来自 GitHub
的约 50
万个公共开源存储库上进行训练。 此模型通过充分掌握至今的已编码内容来预测接下来要键入的内容,这些内容包括:
- 变量名称和位置
- 你使用的库
- 附近代码中的函数
- IntelliSense 列表
- 该模型在本地计算机上运行,该功能可在脱机和空隙环境中使用。 此功能支持 C#。
三、两种模式🎭
IntelliCode
以两种方式提供完成 -
- 一种是在用户键入内容时。
- 第二种是用户在
IntelliSense
列表中选择了项时。
3.1 模式 1:键入时整行自动完成
当用户键入时,我们将显示整行自动完成,可以通过 "要接受的选项卡"
来接受。若要消除预测,可以使用 Esc
或 Delete
键。
3.2 模式 2:选择 IntelliSense 项时的整行自动完成
当用户选择了 IntelliSense
列表中的项时,IntelliCode
将使用用户已键入的项以及用户已选择的项作为提供预测的上下文。 在此示例中,将看到"要接受的选项卡"预测。 第一个选项卡接受 IntelliSense
列表中的选定项,第二个选项卡接受整行完成。 若要消除预测,可以使用 Esc
或 Delete
键。
四、接受或消除整行完成🎏
默认情况下,Tab
键用于接受整行自动完成。 要将默认接受键更改为向右箭头,请转到 工具
> 选项
> IntelliCode
> 高级
。
启用 Apply whole line completions on right arrow
设置。
五、控制整行自动完成🪧
可以使用编辑器右下角显示的紫色小灯泡(缩放控件旁边)来控制整行自动完成功能。
在 "工具"
、"选项"
、"IntelliCode"
、"常规"
中,该设置 Show inline completions
允许你打开或关闭全行自动完成。
"高级"
选项卡包含更多选项。
-
本文前面讨论了第一种设置,即
Apply whole line completions on right arrow
。 -
第二个设置,
Disable suggestions while debugging
可以让你在调试时尽量减少分心。 -
第三种设置为
Show inline completions on new lines
,可以根据输入新行时是否想要查看整行自动完成来启用或关闭该设置,即按Return
或Enter
。 -
最后一项设置
Wait for pauses in typing before showing line completions
启用后,整行自动完成仅在暂停键入时显示。 如果发现整行自动完成在默认模式下分散注意力,你可能更喜欢此选项。
六、 编辑代码时的 AI 辅助🤖
当在代码中的多个位置进行类似的编辑时,可借助 IntelliCode
建议来实施编辑。 它会在本地跟踪你的编辑过程和内容并检测 可重复
应用的内容。 然后,它会提供相关建议,使你能够在可能适用的其他位置中应用这些编辑。 例如,如果你错过了可以应用重构的位置,IntelliCode
建议将帮助你找到这些 位置
并进行 更正
。
IntelliCode
知道代码的 语义结构
。 该结构用于检测可应用更改的情况,即使变量名称不同也能检测到。
假设要将一个使用 硬编码
本地值的 重复性
温度换算替换为能将这些值提取出来的 helper
函数。 IntelliCode
将检测你正在进行的 重复更改
,并 建议
你在其他位置进行此更改。
建议在 Visual Studio 编辑器中显示为快速操作。 IntelliCode
建议具有 "快速操作"
菜单选项:"应用建议"
和 "忽略此类建议"
。 如果你想要使用建议的更改,请选择 "应用建议"
。
在 Visual Studio 2019 16.9 及更高版本中,你还会在完成列表中看到你键入的建议:
由于 IntelliCode
建议会通过会话中的 重复编辑
进行学习,因此有时会提出 不符合
你意向的建议。 如果你不想使用建议的更改,只需选择 "忽略此类建议"
操作。 IntelliCode
不会再建议这类模式,除非你在后续编辑中 重新创建
了它。
IntelliCode
建议是会话范围内的建议 - 在关闭并重新打开 Visual Studio 后不会显示
若要查看包含所有建议的更改的列表,请转到 "视图"
> "其他窗口"
> "IntelliCode 建议"
。
七、 提供多条灯泡建议💡
当你接受完成列表建议时,如果有可应用相同更改的其他位置,你将看到具有操作的灯泡,该操作将向你显示找到的建议的列表。 此操作会打开 "IntelliCode 建议"
窗口,可在其中查找建议并执行建议的操作。
八、总结🎯
本系列教程就此完结,后续如有更新会持续跟进。如果对您有忆点点帮助,请点个赞关注,老规矩我全都要。
🎀🎀🎀【AI辅助编程系列】🎀🎀🎀