1:简介:
通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优,助力开发者高效、流畅的编码。
核心场景
代码智能生成
经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码优化建议等。沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。
研发智能问答
基于海量研发文档、产品文档、通用研发知识、阿里云的云服务文档和 SDK/OpenAPI 文档等进行问答训练,为你答疑解惑,助你轻松解决研发问题。
产品优势
跨文件感知让代码生成更贴合业务场景: 客户端和模型层同步优化针对代码跨文件上下文感知能力,生成代码更加贴合当前代码库的业务场景。
阿里云服务使用场景友好: 专门针对阿里云的云服务使用、SDK/OpenAPI 的使用等场景调优,编码时能够更加便捷地使用阿里云服务;在对阿里云使用有疑问时,智能编码助手的回答也将更加有效。
适配多 IDE 的原生设计,符合开发者使用习惯: 适配 IDE 原生主题、交互模式,让开发者感受到 IDE 原生的视觉和交互体验,更符合开发者使用习惯。
研发问答、文档/代码搜索能力,打造沉浸式编码: 无需切换工具,IDE 客户端内即可满足开发者编码场景中的技术资料检索、技术难题解答的诉求,打造开发者沉浸式编码体验。
双模引擎,自由切换: 支持极速本地模型、云端大模型两种代码补全模型,支持一键切换,满足不同网络环境、不同补全强度的场景诉求。
2:安装
以IDEA为例
方法 1:从插件市场安装
1.打开 IntelliJ IDEA 设置窗口,在插件市场中搜索 TONGYI Lingma,找到通义灵码后单击安装。
2.安装完成后,请重启 IntelliJ IDEA。
方法 2:下载安装包安装
单击下方链接,下载 JetBrains IDEs 的 zip 安装包;⇩ TONGYI Lingma - JetBrains
下载完安装包后,打开 IntelliJ IDEA 后,打开设置,在插件管理的设置下拉菜单中单击从本地安装插件,选择下载的 zip 文件后安装。
3:登录阿里云账号
1.重启 IntelliJ IDEA 后,单击侧边导航的通义灵码,在通义灵码助手的窗口单击登录按钮。
2.单击登录后,将前往阿里云官网登录,完成阿里云登录后,即可前往 IDE 客户端开始使用。
看到这个效果,就可以返回idea了
3.返回IDEA 提示登录成功
4:功能介绍
行级/函数级实时续写
根据当前语法和跨文件的代码上下文,实时生成行、函数建议代码。
代码注释生成
单元测试生成
支持根据 JUnit、Spring Test、unit test 等框架生成单元测试。
生成效果
package com.example.demo.test.ai;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
public class DemoTest {
@Test
public void testSortEmptyArray() {
int[] arr = {};
int[] expected = {};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortSingleElementArray() {
int[] arr = {5};
int[] expected = {5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortAscendingArray() {
int[] arr = {1, 2, 3, 4, 5};
int[] expected = {1, 2, 3, 4, 5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortDescendingArray() {
int[] arr = {5, 4, 3, 2, 1};
int[] expected = {1, 2, 3, 4, 5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortAlreadySortedArray() {
int[] arr = {1, 2, 3, 4, 5};
int[] expected = {1, 2, 3, 4, 5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortReverseSortedArray() {
int[] arr = {5, 4, 3, 2, 1};
int[] expected = {1, 2, 3, 4, 5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
@Test
public void testSortArrayWithDuplicates() {
int[] arr = {3, 1, 4, 1, 5};
int[] expected = {1, 1, 3, 4, 5};
Demo.sort(arr);
assertArrayEquals(expected, arr);
}
}
优化代码:
使用简单的例子 --获取字符串的数字个数
结果如下
研发领域自由问答
遇到编码疑问、技术难题时,一键唤起通义灵码,无需离开 IDE 客户端,即可快速获得答案和解决思路。聚焦研发领域知识的问答,帮助开发者快速解决问题。
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
public class DownloadFileFromOSS {
public static void main(String[] args) {
String endpoint = "<Your endpoint>";
String accessKeyId = "<Your AccessKeyId>";
String accessKeySecret = "<Your AccessKeySecret>";
String bucketName = "<Your bucket name>";
String objectName = "<Your object key>";
String localFilePath = "<Local file path to save the downloaded file>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 下载OSS中的文件到本地文件。
ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(localFilePath));
System.out.println("Downloaded file from OSS successfully.");
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭OSSClient。
ossClient.shutdown();
}
}
}
异常报错智能排查(Java)
最常见的空指针异常
点击上图的lingma->
最后 ,常见的快捷键送给大家,希望每个同事在使用的过程中都能提高效率。
操作 | Windows |
---|---|
接受行间代码建议 | esc |
废弃行间代码建议 | esc |
查看上一个行间推荐结果 | Alt [ |
查看下一个行间推荐结果 | Alt ] |
手动触发行间代码建议 | Alt P |