当前位置: 首页 > article >正文

HarmonyOS Next 最强AI智能辅助编程工具 CodeGenie介绍

随着大模型的兴起,在智能编码领域首先获得了应用。 市面上从Microsoft Copilot到国内阿里通义,字节marscode等,都提供了copilot方式的智能编码工具。HarmonyOS Next作为诞生一年的新事物,由于代码量和文档迭代原因,在智能化方面一直有所欠缺。不过随着HarmonyOS Next生态的快速发展,官方也正式推出了AI智能辅助编程工具CodeGenie。

DevEco AI辅助编程工具(CodeGenie)为开发者提供高效的应用与服务AI编程支持,支持智能知识问答,同时支持ArkTS代码生成和万能卡片生成能力,帮助开发者提高编码效率。CodeGenie 以DevEco-Studio 插件方式进行工作,本文重点介绍CodeGenie能力及使用。

工具安装

在官方网站找到CodeGenie,点击下载
在这里插入图片描述

在DevEco-Studio中点击菜单栏DevEco Studio,然后点击首选项后,点击插件:
在这里插入图片描述

点击设置图标后点击从磁盘安装插件,选择刚才下载的CodeGenie:
在这里插入图片描述

安装完成后点击重启DevEco-Studio:
在这里插入图片描述

重启DevEco-Studio后,点击右侧CodeGenie后打开CodeGenie面板:

在这里插入图片描述

点击登录成功完成了CodeGenie的安装:
在这里插入图片描述

CodeGenie功能介绍

CodeGenie目前提供了鸿蒙应用、万能卡片和代码生成三个功能。

鸿蒙应用

鸿蒙应用就是之前的智能问答,基于生成式搜索能力,通过查询生成、内容优选服务高效理解用户意图,问答交互式地获取编码相关知识。
在这里插入图片描述

万能卡片

基于AI大模型理解开发者的卡片需求信息,通过对话式的交互智能生成HamonyOS万能卡片工程。

官方建议从以下维度描述卡片需求:

序号建议描述维度说明举例
1卡片用途卡片的用途/业务场景,比如电商购物、娱乐、生活服务类等。例如“电商购物卡片”、“娱乐类卡片”。
2卡片功能卡片包含的组件,如图标、标题、按钮等;组件的状态信息,如图标主题、标题内容、按钮显示的文字等。例如“新品上市主标题”、“商品搜索按钮”、“热门电影子板块入口”等。
3卡片尺寸HamonyOS官网提供的四种卡片尺寸:12(微卡片)、22(小卡片)、24(中卡片)、44(大卡片);

卡片尺寸非必选项,AI会根据前两个维度描述的信息,智能选择效果最佳的尺寸。
例如“2*2尺寸的卡片”、“中卡片”等。

目前不支持在生成卡片预览图后继续描述需求进行增量修改。

示例:
在这里插入图片描述
在这里插入图片描述

点击图中区域可以查看生成卡片的UI代码、配置信息和下载静态资源文件:
在这里插入图片描述

保存卡片工程有两种方式:

方式一:使用代码/配置查看窗口的“复制”、“插入”或“创建文件”等按钮手动保存卡片代码和配置信息。

方式二:点击“保存工程”按钮自动保存卡片工程,卡片代码、配置、静态资源文件等会自动保存到工程对应目录中。默认勾选保存逻辑代码,逻辑代码用于配置卡片事件及卡片数据等信息。

工程保存完成后,工程中会新增如下卡片相关文件:

在这里插入图片描述

此外还可以自定义配置逻辑代码,逻辑代码包含实现卡片数据交互和卡片事件两类。

  • 卡片数据交互:触发卡片页面刷新。应用工程生成的卡片数据交互,可通过数据库或网络请求两种方式来触发卡片页面刷新;对于元服务工程生成的卡片,数据交互为通过网络请求方式触发卡片页面刷新。
  • 卡片事件:使用router事件跳转到指定的UIAbility、使用call事件拉起UIAbility到后台、使用message事件刷新卡片内容。
代码生成

利用AI大模型分析并理解开发者在代码编辑区的上下文信息或自然语言描述信息,智能生成符合上下文的ArkTS或C++代码片段。支持在代码编辑区通过快捷键主动触发代码生成,或根据自然语言描述生成相应代码片段。

一般建议在编辑区内已有较丰富上下文,能够使模型对编程场景有一定理解的情况下进行代码生成。在编辑器中的内容较少时,AI可能无法有效理解用户的意图并生成相应的代码。

模型反馈需满足规则:光标上文10行内,有效代码行数超过5行(排除单独{}、()、[]括号行、空行、纯注释行场景),便于模型能理解代码上下文。

安装CodeGenie后,只需在编码时稍作停顿,CodeGenie将在当前代码行即时生成代码。若开发者认可推荐的内容,可通过按Tab键采纳,或通过按ESC键忽略生成的内容。
在这里插入图片描述

当安装完成CodeGenie后,在编码区代码行输入回车,将出现CodeGenie根据上下文生成的多行代码片段。可使用Tab键采纳该代码生成内容,或者使用ESC键忽略。

常用快捷键

Enter:在函数/方法签名下触发自动生成
Tab:接受当前生成结果
Esc:忽略当前生成结果
Alt+[(win) / Option+[(mac):查看上一个推荐
Alt+](win) / Option+](mac):查看下一个推荐
Alt+X(win) / Option+X(mac):主动触发单行代码生成
Alt+C(win) / Option+C(mac):主动触发代码生成
Alt+R(win) / Option+R(mac):重新生成代码
Alt+U(win) / Option+U(mac):打开右侧对话框
功能、设置


http://www.kler.cn/a/513145.html

相关文章:

  • 学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)
  • 模型部署工具01:Docker || 用Docker打包模型 Build Once Run Anywhere
  • C++语言的文件操作
  • C 语言的void*到底是什么?
  • 财务RPA就是财务机器人吗?有什么作用
  • 什么是SSL及SSL的工作流程
  • OpenSeaOtter使用手册-变更通知和持续部署
  • C#高级:用控制台程序模拟WebAPI处理接口请求信息
  • 无人设备航电系统的构成
  • 【gopher的java学习笔记】Java中Service与Mapper的关系详解
  • 深度学习-90-大型语言模型LLM之基于LM Studio本地化部署运行自己的大模型
  • 京华春梦,守岁这方烟火人间
  • 使用ssh推送项目到github
  • Java中如何安全地停止线程?
  • C++入门 详细版
  • Linux - 线程池
  • SpringBoot实现轻量级动态定时任务管控及组件化
  • git原远程仓库无法连接后使用本地仓库将所有分支和tags上传到新远程仓库
  • [答疑]这个消息名是写发送数据还是接收数据
  • 不重启JVM,替换掉已经加载的类
  • Flutter 架构原理
  • ubuntu_查询连接当前服务器的用户ip
  • MongoDB 备份与恢复综述
  • Class ‘com.xxx.xxx‘ not found in module ‘xxxx‘ 解决方法
  • 使用ollama本地部署微调后的大语言模型
  • 包文件分析器 Webpack Bundle Analyzer