步骤一:前置准备
账号和IDE准备:注册通义灵码企业版,注册登录通义灵码IDE插件
注册通义灵码企业版:
● 点击链接https://accountid-devops.aliyun.com/features
● 选择“通义灵码”,点击“立即开启”
● 填写基础信息
备注
● 首次开通享30天免费体验:阿里云主账号首次开通通义灵码企业标准版,可享受 30 天免费体验;
● 如已经开通且在企业版使用期,请在IDE端登录入口切换企业组织体验;
● 如已经开通但过了免费体验期,需购买后使用。前往购买
1.2登录通义灵码IDE插件:
● 下载登录参考教程https://help.aliyun.com/zh/lingma/user-guide/download-the-installation-guide? ;
● 如已经登录且是企业版,可以直接体验;
● 如已登录是个人开版,请退出登录后选择企业开发者标准版或者专属版;如未登录,请选择企业开发者标准版或者专属版;
2.本地工程和企业知识库准备:
请下载本地工程和知识库压缩包,并在本地解压缩,其中包含demoProject和知识库文件两个文件夹。
2.1本地工程准备:
- 找到demoProject文件夹,在IDE中打开整个demoProject工程。
2.2企业知识库准备:
步骤1:企业知识库创建
登录通义灵码企业知识库后台 https://devops.aliyun.com/lingma/knowledge
● 通过单击侧边栏上的知识管理按钮,进入知识管理页面。在知识管理页面,点击新建知识库按钮。
● 请按照下面的方式,分别新建2个知识库,权限设置为公开:
○ 1个智能问答知识库:企业规范知识库
○ 1个行间代码生成知识库:企业公共代码库
在企业知识库内上传文档和代码。 - 请下载压缩包解压缩后,找到知识库文件。
- 将《企业Java开发规范.md》文件上传至企业规范知识库。
● 单击添加数据按钮,即可进入添加数据页面。
● 数据类型为文档,单击或拖拽文件到上传区域(灰色区域)即可上传知识库文档,上传完成后,单击确认添加即可成功添加,相关文档会进入数据处理流程。
3.. 将《GlobalHeader-Demo.zip》《SnowFlowerIDGenImpl.java.zip》文件上传至企业公共代码库。
● 单击“添加数据"按钮,即可进入添加数据页面。
● 数据类型为代码,单击或拖拽文件到上传区域(灰色区域)即可上传代码库压缩包,上传完成后,单击确认添加即可成功添加,相关压缩包会进入数据处理流程。 - 确保数据处理完成后,数据准备阶段即告结束。
步骤二:场景体验
场景1:基于企业代码规范的代码风格一致性优化。
● 开启企业规范知识库的检索增强功能开关。 更多详细准备请见2.2《企业知识库准备》章节。
● 在IDE中,打开示例工程demoProject, 打开文件 demoProject/backend/src/main/java/demo/CodeFomatterDemo.java
● 在通义灵码的对话框中输入#team docs然后再输Java代码规范中的异常处理规范包括哪些内容?后回车。
● 即可看到通义灵码根据提供的企业Java开发规范文档,回复异常处理规范的关键要点,如图。
● 框选代以下码块,并在通义灵码的对话框中输入#team docs然后再输根据Java代码规范优化异常处理和日志输出。后回车。
public void uploadFileToOSS(){ String endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider(); String bucketName = "examplebucket"; String objectName = "exampledir/exampleobject.txt"; try { // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider); String content = "Hello OSS,你好世界"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(content.getBytes())); PutObjectResult result = ossClient.putObject(putObjectRequest); } catch (Exception e) { // TODO: 待通义灵码优化异常与日志处理 } }
● 即可看到通义灵码基于企业知识库内容,生成修改方案与建议代码。
场景二:根据标签补全前端公共组件代码。
● 开启企业公共代码库检索增强功能开关,更多详细准备请见2.2《企业知识库准备》章节。
● 在IDE中,打开示例工程,找到路径:demoProject/frontend/src/components/DemoApp.tsx,开始体验企业代码补全增强。
● 在文件中输入如下所示代码,在注释所在位置回车,灵码会根据知识库中上传的代码,自动进行补全,第一次回车灵码将基于上下文代码生成补全建议,第二次回车灵码将根据企业代码库中的代码进行补全。按Tab键可以采纳代码。
● 请注意: 一次性生成的长度有限,您可以通过回车的方式,分多次补全完整组件。
render() { // @ts-ignore const { fetchingNotices, onNoticeVisibleChange } = this.props; const noticeData = this.getNoticeData(); const unreadMsg = this.getUnreadData(noticeData); return ( { this.changeReadState(item); }} / 说明:在此处通过回车,触发代码补全 / > ); }
企业代码库代码:
场景三:根据注释生成后端代码库算法函数。
● 开启企业公共代码库检索增强功能开关。 更多详细准备请见2.2《企业知识库准备》章节。
● 在IDE中,打开示例工程,找到路径:demoProject/backend/src/main/java/demo/SnowFlakeDemo.java,开始体验企业代码补全增强。
● 在代码中的getSnowflakeID函数内使用回车触发补全。或者您还可以尝试仅通过注释生成雪花算法函数。
//使用雪花算法生成唯一序列号 public synchronized Long getSnowflakeID(long workerId) { long id = -1L; / 说明:在此处通过回车,触发代码补全 / return null; }
通义灵码会根据知识库中上传的代码,自动进行补全,第一次回车灵码将提供基于上下文代码生成补全建议,第二次回车灵码将根据企业代码库中的代码进行补全。
请注意: 一次性生成的长度有限,您可以通过回车的方式,分多次补全完整的算法函数。
企业代码库代码: