1.应用AI翻译代码
IM SDK和普通应用的最大差异是逻辑性代码比较多,使用过声明式UI的同学都知道,声明式对于AI很友好,开发效率很高,但是对于逻辑性强的代码就没那么友好,而且IM系统本身有很多逻辑和历史包袱,新的平台的SDK也要兼容这些历史逻辑,有很多新同事对历史逻辑不了解,如果现熟悉的话成本又很高,所以从Android和iOS代码直接翻译成了一个不错的选择,但是手动翻译效率不高,而且还要求同时熟悉Java/OC 和 TS,所以借助AI是个不错的选择。
ArkTS对TS做了很多约束,市面上的大模型基座缺乏这块知识,所以直接翻译成直接可用的代码也不现实,可以按着TS语法翻译,翻译完成后做一些微调适配。下面是我用到的一个prompt:
你是一个编程助手,将我输入的java代码转换为ts代码,保留代码中的注释内容,qingkouwei,注释中创建时间改为现在时间,变量类型默认初始化,定义的实体类中进行默认初始化,JsonUtil.toJson() 改为JsonUtils.toJSONString(),JsonUtil.fromJson改为JsonUtils.parse()
这样翻译过来的很多工具调用直接可以兼容到我们HarmonyOS封装的工具。
2.使用华为官方提供的智能工具
市面上不管是github copilot还是阿里通义等编程助手都没有提供ArkTS支持,不过在HDC之后华为开放了DevEco Studio的AI辅助编程工具,可以通过[官方渠道]申请使用。目前提供了知识问答,代码生成,万能卡片三个类型的工具,比起我们在官方文档中查找AI可以提效很多了。代码补全方面,目前还不能和github copilot一样,可采用快捷键alt+
手动触发。模型反馈需满足规则:光标上文10行内有有效代码行数超过5行(排除单独{}
、()
、[]
括号行、空行、纯注释行场景)使模型能理解代码上下文。下面是效果:
![1
虽然无法跟市面上很成熟的copilot比,但是对于刚入手harmonyos开发的同学也是很不错的工具了。
3. 配置自定义模板
像AndroidStudio等我们想在创建文件时自动生成作者,时间等注释,我们只需要填写这个文件是干什么的。对于DevEco也有类似配置:
- 打开DevEco偏好设置的 File and Code Template标签,里面Files和Includes可以进行自定设置
- File里面可以通过#parse(“ArkTS Header”)引入Includes中自定义的部分
使用#parse
指令,你可以在文件模板(Files选项卡)中包含要包含的代码片段。一个模板可以被多个文件模板共享。除了静态文本、代码和注释,你还可以使用预定义变量,它们将像宏一样展开为相应的值。
/*
* ${PACKAGE_NAME} 新文件所在的包的名称
* ${USER} 当前用户的系统登录名 eg. qingkouwei
* ${DATE} 当前系统日期 eg. 2024/03/05
* ${TIME} 当前系统时间 eg. 11:27
* ${YEAR} 当前年份 eg. 2024
* ${MONTH} 当前月份 eg. 03
* ${MONTH_NAME_SHORT} 当前月份的前三个字母 eg. 2月
* ${MONTH_NAME_FULL} 当前月份的全名 eg. 二月
* ${DAY} 当前日期的天数 eg. 05
* ${DAY_NAME_SHORT} 当前星期几的前三个字母 eg. 周一
* ${DAY_NAME_FULL} 当前星期几的全名 eg. 星期一
* ${HOUR} 当前小时 eg. 11
* ${MINUTE} 当前分钟 eg. 27
* ${PROJECT_NAME} 当前项目的名称 eg. im_chat_module
*/
用模板写东西挺方便的。里面可以放文字、代码、注释,还有一堆现成的变量。用的时候,它们会自动变成对应的内容。
想用自己定义的变量?没问题,格式就像这样${MY_CUSTOM_VAR}
。在IDE里新建文件,如果有自定义变量,它会问你它们应该是什么值。
模版示例:
ArkTS 文件模板代码
/**
* ${PROJECT_NAME}
* ${FILE_NAME}
* Created by ${USER} on ${DATE}
*
*/
在预定义变量列表中配置:
#parse("ArtTS Header")
* ${DATE} 当前系统日期 eg. 2024/06/30
* ${PROJECT_NAME} 当前项目的名称 eg. my_main_module
* ${USER} 当前用户的系统登录名 eg. qingkouwei
还可以自定义一些代码块等,但是我们一般用不到,这里不做多介绍。
4.IDE配置中文
DevEco菜单等默认是英文,如果要显示中文需要在插件中配置启用chinese:
5.总结
本文分享了在HarmonyOS开发过程中,关于老系统适配,AI代码补全工具,模版配置,中文显示等非常有用的技巧,希望对大家有帮助。
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
《鸿蒙开发基础》
《鸿蒙开发进阶》
《鸿蒙开发实战》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!