链载Ai

标题: 通义灵码企业代码补全增强使用实践 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: 通义灵码企业代码补全增强使用实践

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;line-height: 1.75em;">

通义灵码提供了企业代码补全增强的能⼒,在开发者使⽤通义灵码 IDE 插件的⾏间代码补全时,可以结合企业上传的代码库作为上下⽂进⾏⾏间代码补全,使代码补全更加贴合企业代码规范、业务特点。本⽂将分享如何构建⾼质量的企业代码库,以及开发者在前端和后端开发场景的使⽤实践。

管理员如何准备高质量企业代码库




Cloud Native

为确保代码数据的有效处理,我们建议您遵循以下指导原则来准备代码库。这将有助于提升检索的效率与准确性。

准备指南

1. 上传限制仅适⽤于源代码⽂件,代码库中应仅上传实际编写的源代码⽂件。例如,对于 Java 应上传 .java ⽂件,对于 C#应上传 .cs ⽂件,对于 JavaScript 应上传 .js 或 .jsx ⽂件等。

2. 请避免上传以下内容。

3. 注释要求如下。

/***更新指定订单状态。**@paramorderId订单的唯⼀标识符。*@paramnewStatus新的订单状态。*@returnboolean表示更新是否成功。*/
4. 函数名称规范要求。

上传指南

开发者如何使用企业代码生成增强




Cloud Native

插件版本要求

仅适⽤于 VSCode 1.3.9 及以上版本,以及 JetBrains 1.3.10 及以上版本。

后端场景使用实践

1. 通过⾃然语⾔注释⽣成代码。
步骤一:企业代码库代码上传
上传包含所需功能代码的压缩包⾄企业代码库,例如雪花算法的代码,并确保⽬标函数遵循注释规范,注释位于函数头部。更详细代码库准备指南请参⻅上述管理员如何准备⾼质量代码库。
/***使⽤雪花算法⽣成唯⼀序列号*@paramworkerId*@return*/publicsynchronizedLonggetSnowFlowerId(longworkerId){longid=-1L;if(workerId<0||workerId>snowFlowerProperties.getMaxWorkerId()){thrownewIllegalArgumentException(String.valueOf("workerIDmustgte0andlte"+snowFlowerProperties.getMaxWorkerId()));}//...算法实现代码...returnid;}

步骤二:输入注释

在集成开发环境(IDE)中定位到某 Java 类内,输入与期望召回的函数相匹配的注释。注释格式可以灵活,但应确保含义的准确性和⼀致性。
第一种方式
//请通过雪花算法⽣成唯⼀编号的代码,返回⽣成的id
第二种方式
/***使⽤雪花算法⽣成唯⼀序列号*@paramwId*@return*/
注释说明:

步骤三:代码⽣成

⾸次回⻋后,灵码将提供基于注释⽣成补全建议;再次回⻋后,灵码将根据企业代码库中的代码进⾏补全。

说明:

  • 如果您的注释中包含参数,灵码将⾃动调整⽣成代码中的参数名,确保命名⼀致性。

  • 如果需要刷新缓存获取新的补全建议,macOS 可以使⽤ ⌥(option) P ⼿动触发⾏间补全,windows 可以使⽤ Alt P ⼿动触发。

2. 通过函数签名⽣成代码。

步骤一:代码库代码上传

上传包含所需功能代码的压缩包⾄企业代码库,并确保这些函数具有清晰且独特的标识,以便于检索和识别。更详细代码库准备指南请参⻅上述管理员如何准备⾼质量代码库。

步骤二:输入函数签名

在集成开发环境(IDE)中定位到某 Java 类内,键入⽬标函数的签名部分。参数名称可以灵活处理,通义灵码会根据提供的参数⾃动调整以匹配召回的代码。
publicList<Object>nextList(Stringname,intsize)

函数签名说明:

步骤三:代码补全

⾸次回⻋后,灵码将提供代码补全建议;再次回⻋后,灵码将根据企业代码库中的代码进⾏⾃动补全。

说明:

  • 灵码将根据您提供的参数名,⾃动调整⽣成代码中的参数名,确保命名⼀致性。

  • 如果需要刷新缓存获取新的补全建议,macOS 可以使⽤ ⌥(option) P ⼿动触发⾏间补全,windows 可以使⽤ Alt P ⼿动触发。

前端场景使用实践

1. 通过标签补全前端⾃研组件代码。

步骤一:代码库代码上传

在开始之前,您需要确保所有必要的前端组件代码已经上传到企业代码库中。如下是 React 框架示例。
<LTableisReady={isReady}formInitialValues={formInitialValues}rowKey="key"tableRef={tableRef}toolbarLeft={<Buttontype="primary">新增</Button>}formItems={formItems}formRef={formRef}columns={columns}request={async(params,requestType)=>{constres:Record<string,any>=awaitapiGetUserList(params);return{data:res.data,total:res.total,};}}/>
步骤二:编写组件代码
在您的 IDE 中打开相应的 .jsx ⽂件,并开始编写代码。输入基础 HTML 标签或⾃定义组件标签,例如<BatchUntagEditor /> 。

步骤三:代码⾃动补全

当您输入的代码达到⼀定⻓度,并且能够与企业组件库中的代码匹配时,IDE 将⾃动触发代码补全功能,为您⽣成完整的组件代码。您也可以通过回⻋,主动触发代码补全。

重要:请在完整的组件标签内触发您的补全。

2. 通过⾃然语⾔注释⽣成代码。

步骤一:代码库代码上传

上传包含所需功能代码的压缩包⾄企业代码库,并确保每个函数都遵循注释规范,注释位于函数头部。更详细代码库准备指南⻅管理员如何准备⾼质量企业代码库章节。如下是 JavaScript 示例。
/***根据报错信息⽣成,以id为键值的对象*@param{Array<validator,Result>}results*@return{Record<string,string>}*/functiongetErrObj(results){//...函数实现代码...}
步骤二:输入注释
在 IDE 中,在 JavaScript ⽂件内输入特定的注释内容,如下示例。
//根据报错信息⽣成以id为键值的对象

注释说明:

步骤三:代码⽣成
⾸次回⻋后,灵码将提供基于注释⽣成补全建议;再次回⻋后,灵码将根据企业代码库中的代码进⾏补全。

说明:

  • 如果您的注释中包含参数,灵码将⾃动调整⽣成代码中的参数名,确保命名⼀致性。

  • 如果需要刷新缓存获取新的补全建议,macOS 可以使⽤ ⌥(option) P ⼿动触发⾏间补全,windows 可以使⽤ Alt P ⼿动触发。

常见问题:在重新安装插件后,即便重启 IDE 或重新登录,仍无法成功召回知识库中的代码

解决⽅案:
ps-ef|greplingma|grepstart|awk'{print$2}'|xargs-I{}kill-9{}






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5