AI 辅助开发的大背景下,除了代码生成,在编辑器自带的终端模式下,同样需要 AI 相关的能力,从而可以帮助程序员在终端运行出现报错的场景下,可以快速查找到问题解决方案;也可以帮助程序员不需要记住太多的终端命令。本文旨在介绍腾讯云 AI 代码助手,如何与终端结合应用,为代码开发提供便利。
在对话中,面向终端 @terminal 提问
AI 代码助手支持四种 agent 模式:
@workspace:面向项目工程下的提问解答
@vscode:面向 vscode 帮助文档的提问解答。
@terminal:面向终端的提问解答。
拓展 agent,支持用户自行定义 agent,这里不做过多展开,详情请参见 最佳实践/定义代码助手 Prompt。
本部分将对 @terminal 面向终端的提问解答,进行实践演示。
获取终端中错误信息的相关帮助
当终端运行产生错误信息时,只需选中错误消息,右键单击,然后选择腾讯云 AI 助手:解释代码。
?
?
?代码助手将为您提供错误描述和建议的修复方案。
?
?
?当然您也可以直接在对话框中输入 @terminal,譬如,@terminal 安装 maven,如下图,他会找到和终端相关的答案,然后还会生成下一个提问建议。对话中如果有终端命令的话,还可以一键执行。
?
?
??
?
针对 @terminal,我们同时还提供了终端变量方便输入,您可以在提问的内容中用 # 变量的方式引用终端里的内容。我们定义了三个系统变量,如下表展示。
#terminaLastCommand 获取当前终端的最后一个命令 | ? ? ? |
#terminalSelection 获取当前终端的选择区域。 常用于对于终端输出进一步对话提问 | ? ? ? |
#terminalShellType 获取当前终端的 shell 类型 | ? ? ? |
在终端中进行内联对话 CMD+I
在代码编辑器内通过按 CMD + I(Windows 上为 CTRL + I)唤起内联聊天,让您的代码行之间与对话丝滑交互。这对于快速修复、增加代码文档注释的用户来说更方便,因为它并不是打开侧栏的面板。
?
?
?这种体验为你提供了编辑代码区域的快捷能力和预览效果。现在,终端(1.88以上,目前在 insider 版本)也可以支持内联对话这种能力了。您需要首先确认是否开启如下的内联对话功能:
1. 开启 AI 代码助手的内联对话功能(实验性接口),如下图步骤。
?
?2. 开启终端接收 CMD+I 内联对话的开关。
?
?
?3. 这样就完成了。现在来尝试一下,「我想要把当前目录压缩」的需求指令,确认是否正确的完成。
?
终端内联对话非常有用,这让我不需要记下太多太复杂的命令定义,当然如果生成不对,也可以进一步的在侧栏对话询问。
总结
在 VSCode 当中,借助 AI 代码助手与终端的多种结合应用,可以为代码开发提供很多便利,对于 Jetbrains 上的终端强化能力,例如终端里运行代码报错后的解释等能力,目前也在规划开发中,将在不久的将来给您使用。