跳到主要内容

代码续写

利用AI大模型分析并理解开发者在代码编辑区的上下文信息或自然语言描述信息,智能续写符合上下文的ArkTS或C++代码片段,减少重复编码工作。

从DevEco Studio 6.1.0 Beta2版本开始,代码续写入口变更为Code Completion & Inline Chat,续写启动等设置相关选项的入口发生变化;支持添加模型和提示词。

使用约束​

  • 建议编辑区已有较丰富上下文,能够使AI模型对编程场景有一定理解的情况下进行续写。若编辑器中内容较少,AI模型可能无法有效理解用户的意图并生成相应的代码。
  • AI模型反馈需满足规则:光标上文10行内,有效代码行数超过5行(排除单独{}、()、[]括号行、空行、纯注释行场景)。

续写设置​

DevEco Studio 6.1.0 Release及以上版本​

进入File > Settings...(macOS为DevEco Studio > Preferences/Settings)> CodeGenie > Code Completion & Inline Chat页面进行设置,若没登录华为开发者账号请先登录。

快捷键和续写开启设置选项****:****

  • Display hints for code suggestion inline chat:在编辑区空行显示触发代码续写等功能的快捷键。
  • Enable:启用代码续写能力。
  • Display hints for accept shortcuts:在续写结果最后的位置显示采纳代码的快捷键。

自动续写设置选项****:****

  • Auto Suggestion:自动续写开关,开启后将会根据代码上下文在合适位置自动触发代码续写。
  • Frequency:控制自动续写的触发频率。
  • Allow auto suggestion for code completion:是否允许自动续写与编辑器联想功能同时存在。取消勾选后,编辑器联想功能优先级更高。

续写模型设置选项****:****

CodeGenie为续写功能提供了内置的模型,也可使用三方模型和提示词进行续写。当前续写仅支持OpenAI和Ollama两种协议的模型,同时模型需支持FIM(Fill-in-Middle)补全能力。

  • Model:选择代码续写的模型,模型内容请参考:模型(Model)配置。
  • Prompt format:提示词格式,此处列出了主流的FIM提示词格式,并自动与模型选项联动。设置时需要选择与模型匹配的提示词格式,续写才能正常工作,开发者可在模型官网或者模型技术报告获取提示词格式。

DevEco Studio 6.1.0 Beta2​

进入File > Settings...(macOS为DevEco Studio > Preferences/Settings)> CodeGenie > Code Completion & Inline Chat页面进行设置,若没登录华为开发者账号请先登录。

快捷键和续写开启设置选项****:****

  • Show trigger shortcut tips:在编辑区空行显示触发代码续写等功能的快捷键。
  • Enable code completion:启用代码续写能力。
  • Show accept shortcut tips:在续写结果最后的位置显示采纳代码的快捷键。

自动续写设置选项****:****

  • Enable code auto completion:自动续写开关,开启后将会根据代码上下文在合适位置自动触发代码续写。
  • Frequency:控制自动续写的触发频率。
  • Auto-completion is allowed when code completion is triggerd:是否允许自动续写与编辑器联想功能同时存在。取消勾选后,编辑器联想功能优先级更高。

续写模型设置选项****:****

CodeGenie为续写功能提供了内置的模型,也可使用三方模型和提示词进行续写。当前续写仅支持OpenAI和Ollama两种协议的模型,同时模型需支持FIM(Fill-in-Middle)补全能力。

  • Model:选择代码续写的模型,模型内容请参考:模型(Model)配置。
  • Prompt format:提示词格式,此处列出了主流的FIM提示词格式,并自动与模型选项联动。设置时需要选择与模型匹配的提示词格式,续写才能正常工作,开发者可在模型官网或者模型技术报告获取提示词格式。

DevEco Studio 6.1.0 Beta2以下版本​

进入File > Settings...(macOS为DevEco Studio > Preferences/Settings)> CodeGenie > Code Generation页面勾选Enable code generation,开启代码续写功能。如果已经熟悉了CodeGenie常用的快捷键,想要更加沉浸的体验,可以在该页面勾选Do not disturb mode,隐藏代码生成工具栏及快捷键提示。

同时,根据编码习惯,选择Enable snippet generation(片段续写)和Enable inline generation(行内续写),以及设置续写时延。

续写触发和采纳​

续写触发​

DevEco Studio 6.1.0 Release及以上版本

Enable inline generation(行内续写)与Enable snippet generation(片段续写)合并为Auto Suggestion,取消了Delay设置项,通过设置Frequency调整自动续写的触发频次。

DevEco Studio 6.1.0 Beta2

Enable inline generation(行内续写)与Enable snippet generation(片段续写)合并为Enable code auto completion,取消了Delay设置项,通过设置Frequency调整自动续写的触发频次。

DevEco Studio 6.1.0 Beta2以下版本

  • Enable inline generation(行内续写):在编码时稍作停顿,CodeGenie将在当前代码行即时续写代码。
  • Enable snippet generation(片段续写):输入回车,CodeGenie将根据上下文生成代码片段。
  • 在编辑区输入Alt+C快捷键(macOS上为Option+C)触发代码续写。

续写采纳​

续写内容采纳方式****:****

  • 可通过按Ta********b键采纳该内容。
  • ****Ctrl + ↓(macOS中为Command + ↓********)****逐行采纳该内容。
  • ****Ctrl + →(macOS中为Option + →)****逐单词采纳该内容。
  • 通过按ESC键忽略该内容。

CodeGenie续写常用快捷键如下:

操作macOSWindows
触发多行代码续写Enter、Option+CEnter、Alt+C
触发单行代码续写Option+XAlt+X
采纳续写生成的代码TabTab
忽略续写生成的代码EscEsc
查看上一个代码续写结果Option +[Alt + [
查看下一个代码续写结果Option + ]Alt + ]
重新生成代码内容(最多支持重新生成5次)Option + RAlt + R
展示CodeGenie面板Option + UAlt + U
代码逐行采纳Command + ↓Ctrl + ↓
代码逐单词采纳Option + →Ctrl + →