1:簡介:
通義靈碼,是阿里云出品的一款基于通義大模型的智能編碼輔助工具上炎,提供行級(jí)/函數(shù)級(jí)實(shí)時(shí)續(xù)寫、自然語言生成代碼藕施、單元測試生成寇损、代碼優(yōu)化、注釋生成裳食、代碼解釋矛市、研發(fā)智能問答、異常報(bào)錯(cuò)排查等能力诲祸,并針對阿里云的云服務(wù)使用場景調(diào)優(yōu)浊吏,助力開發(fā)者高效、流暢的編碼烦绳。
核心場景
代碼智能生成
經(jīng)過海量優(yōu)秀開源代碼數(shù)據(jù)訓(xùn)練卿捎,可根據(jù)當(dāng)前代碼文件及跨文件的上下文,為你生成行級(jí)/函數(shù)級(jí)代碼径密、單元測試午阵、代碼優(yōu)化建議等。沉浸式編碼心流,秒級(jí)生成速度底桂,讓你更專注在技術(shù)設(shè)計(jì)植袍,高質(zhì)高效地完成編碼工作。
研發(fā)智能問答
基于海量研發(fā)文檔籽懦、產(chǎn)品文檔于个、通用研發(fā)知識(shí)、阿里云的云服務(wù)文檔和 SDK/OpenAPI 文檔等進(jìn)行問答訓(xùn)練暮顺,為你答疑解惑厅篓,助你輕松解決研發(fā)問題。
產(chǎn)品優(yōu)勢
跨文件感知讓代碼生成更貼合業(yè)務(wù)場景: 客戶端和模型層同步優(yōu)化針對代碼跨文件上下文感知能力捶码,生成代碼更加貼合當(dāng)前代碼庫的業(yè)務(wù)場景羽氮。
阿里云服務(wù)使用場景友好: 專門針對阿里云的云服務(wù)使用、SDK/OpenAPI 的使用等場景調(diào)優(yōu)惫恼,編碼時(shí)能夠更加便捷地使用阿里云服務(wù)档押;在對阿里云使用有疑問時(shí),智能編碼助手的回答也將更加有效祈纯。
適配多 IDE 的原生設(shè)計(jì)令宿,符合開發(fā)者使用習(xí)慣: 適配 IDE 原生主題、交互模式腕窥,讓開發(fā)者感受到 IDE 原生的視覺和交互體驗(yàn)粒没,更符合開發(fā)者使用習(xí)慣。
研發(fā)問答油昂、文檔/代碼搜索能力革娄,打造沉浸式編碼: 無需切換工具,IDE 客戶端內(nèi)即可滿足開發(fā)者編碼場景中的技術(shù)資料檢索冕碟、技術(shù)難題解答的訴求拦惋,打造開發(fā)者沉浸式編碼體驗(yàn)。
雙模引擎安寺,自由切換: 支持極速本地模型厕妖、云端大模型兩種代碼補(bǔ)全模型,支持一鍵切換挑庶,滿足不同網(wǎng)絡(luò)環(huán)境言秸、不同補(bǔ)全強(qiáng)度的場景訴求。
2:安裝
以IDEA為例
方法 1:從插件市場安裝
1.打開 IntelliJ IDEA 設(shè)置窗口迎捺,在插件市場中搜索 TONGYI Lingma举畸,找到通義靈碼后單擊安裝。
2.安裝完成后凳枝,請重啟 IntelliJ IDEA抄沮。
方法 2:下載安裝包安裝
單擊下方鏈接跋核,下載 JetBrains IDEs 的 zip 安裝包;? TONGYI Lingma - JetBrains
下載完安裝包后叛买,打開 IntelliJ IDEA 后砂代,打開設(shè)置,在插件管理的設(shè)置下拉菜單中單擊從本地安裝插件率挣,選擇下載的 zip 文件后安裝刻伊。
3:登錄阿里云賬號(hào)
1.重啟 IntelliJ IDEA 后,單擊側(cè)邊導(dǎo)航的通義靈碼椒功,在通義靈碼助手的窗口單擊登錄按鈕捶箱。
2.單擊登錄后,將前往阿里云官網(wǎng)登錄蛾茉,完成阿里云登錄后讼呢,即可前往 IDE 客戶端開始使用撩鹿。
看到這個(gè)效果谦炬,就可以返回idea了
3.返回IDEA 提示登錄成功
4:功能介紹
行級(jí)/函數(shù)級(jí)實(shí)時(shí)續(xù)寫
根據(jù)當(dāng)前語法和跨文件的代碼上下文,實(shí)時(shí)生成行节沦、函數(shù)建議代碼键思。
代碼注釋生成
單元測試生成
支持根據(jù) 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);
}
}
優(yōu)化代碼:
使用簡單的例子 --獲取字符串的數(shù)字個(gè)數(shù)
結(jié)果如下
研發(fā)領(lǐng)域自由問答
遇到編碼疑問、技術(shù)難題時(shí)叫搁,一鍵喚起通義靈碼赔桌,無需離開 IDE 客戶端,即可快速獲得答案和解決思路渴逻。聚焦研發(fā)領(lǐng)域知識(shí)的問答疾党,幫助開發(fā)者快速解決問題。
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>";
// 創(chuàng)建OSSClient實(shí)例惨奕。
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 {
// 關(guān)閉OSSClient。
ossClient.shutdown();
}
}
}
異常報(bào)錯(cuò)智能排查(Java)
最常見的空指針異常
點(diǎn)擊上圖的lingma->
最后 梨撞,常見的快捷鍵送給大家雹洗,希望每個(gè)同事在使用的過程中都能提高效率。
操作 | Windows |
---|---|
接受行間代碼建議 | esc |
廢棄行間代碼建議 | esc |
查看上一個(gè)行間推薦結(jié)果 | Alt [ |
查看下一個(gè)行間推薦結(jié)果 | Alt ] |
手動(dòng)觸發(fā)行間代碼建議 | Alt P |