通義靈碼是阿里云與通義實驗室聯(lián)合打造的智能編碼助手,基于通義大模型技術,為開發(fā)者提供多種編程輔助功能。它支持多種編程語言,包括 Java、Python、Go、TypeScript、JavaScript、C/C++、PHP、C#、Ruby 等200多種編碼語言。
近期,阿里云百煉平臺重磅推出 DeepSeek-V3、DeepSeek-R1、DeepSeek-R1-Distill-Qwen-32B 等 6 款模型,為用戶提供了新的選擇。與此同時,通義靈碼也緊跟步伐,全新上線模型選擇功能,支持基于百煉的 DeepSeek-V3 和 DeepSeek-R1 滿血版671B模型,為 AI 編程領域注入新活力。
今年1月,通義靈碼 AI 程序員全面上線,同時支持 VS Code、JetBrains IDEs,是國內(nèi)首個真正落地的 AI 程序員。通過前后端開發(fā)全覆蓋,全程對話協(xié)作實現(xiàn)從 0 到 1 完成復雜編碼任務,并引入多文件代碼修改能力。開發(fā)者通過 AI 程序員自動完成多文件級編碼任務,如需求實現(xiàn)、問題修復、批量生成單元測試等。
除了 AI 程序員的重磅上線外,近期通義靈碼能力再升級,全新上線模型選擇功能,目前已經(jīng)支持 Qwen2.5、DeepSeek-V3 和 R1系列模型,用戶可以在 VSCode 和 JetBrains 里搜索并下載最新通義靈碼插件,在輸入框里選擇模型,即可輕松切換模型。
在實際開發(fā)中,用戶可以基于場景需求,自由切換 Qwen 2.5、DeepSeek-V3、DeepSeek-R1。這些模型能精準理解需求,快速生成高質(zhì)量代碼片段,無論是復雜算法還是簡單邏輯處理,都能應對自如。
下載安裝指南
通義靈碼支持 JetBrains IDEs、Visual Studio Code、Visual Studio,及遠程開發(fā)場景(Remote SSH、Docker、WSL、Web IDE),安裝后登錄賬號即可開始使用。目前,通義靈碼在 JetBrains IDEs、Visual Studio Code 上線了模型選擇功能,智能問答支持 Qwen2.5、DeepSeek-V3、DeepSeek-R1 模型,AI 程序員支持 Qwen2.5、DeepSeek-V3 模型。通過讓用戶根據(jù)自身需求選擇模型,進一步降低 AI 編程技術的門檻。
JetBrains IDEs 中安裝指南
方法1:從插件市場安裝
- 打開 IntelliJ IDEA 設置窗口,在插件市場中搜索 TONGYI Lingma,找到通義靈碼后單擊安裝。
- 安裝完成后,請重啟 IntelliJ IDEA。
方法 2:下載安裝包安裝
參照通義靈碼官網(wǎng)指示:https://lingma.aliyun.com/lingma/download
Visual Studio Code 中安裝指南
方法:1:從插件市場安裝
說明
單擊立即安裝,喚起 Visual Studio Code 插件市場直接安裝,安裝后請重啟 IDE,即可開啟智能編碼之旅。
- 打開 Visual Studio Code 擴展窗口,搜索 TONGYI Lingma,找到通義靈碼后單擊安裝。
- 安裝完成后,請重啟 Visual Studio Code。
方法 2:下載安裝包安裝
參照通義靈碼官網(wǎng)指示:https://lingma.aliyun.com/lingma/download
通義靈碼核心能力
1. 智能補全使用指南
通義靈碼提供了多種智能補全的方式,可以根據(jù)當前代碼文件、跨文件的上下文或企業(yè)代碼規(guī)范等,為您生成行級/函數(shù)級代碼,讓您更專注在技術設計。
1.1. 行級/函數(shù)級實時補全
當你在 IDE 編輯器區(qū)進行代碼編寫時,在開啟自動云端生成的模式下,通義靈碼會根據(jù)當前代碼文件及相關代碼文件的上下文,自動為你生成行級/函數(shù)級的代碼建議,此時你可以使用快捷鍵采納、廢棄,或查看不同的代碼建議。
同時,當你在編碼的過程中,也可以通過快捷鍵?
P
手動觸發(fā)生成代碼建議。
1.2. 自然語言生成代碼
在編輯器中,可以直接通過自然語言的方式描述需要實現(xiàn)的需求,通義靈碼可以在編輯器中生成代碼建議,單擊 Tab
可直接采納。
1.3. 企業(yè)代碼生成增強
企業(yè)管理員上傳并啟用行間代碼生成知識庫,并設置為組織內(nèi)開發(fā)者可見成員后,開發(fā)者在 IDE 的代碼編輯器中編寫代碼時,通過快捷鍵?
P
手動觸發(fā),通義靈碼將根據(jù)知識庫中的內(nèi)容自動生成符合企業(yè)規(guī)范的代碼建議。
1.4. 離線單行補全
通義靈碼代碼補全默認使用云端大模型進行智能續(xù)寫,當網(wǎng)絡情況有限制時,可使用本地補全模式,單擊狀態(tài)欄圖標切換至本地補全模式后,編輯器中進行編碼時,通義靈碼會給出單行的代碼建議。
2. 智能問答使用指南
通義靈碼,作為您的智能編碼助手,可以在您進行編碼工作遇到疑問時幫您答疑解惑,并快速為您生成建議代碼,能夠幫您生成代碼注釋、生成單元測試、進行代碼優(yōu)化、解釋工程和代碼文件、修復代碼問題、排查編譯報錯、生成提交信息等。
2.1. 研發(fā)智能問答
使用通義靈碼的智能問答時,為了通義靈碼與您的對話能夠更友好、高效,希望您能夠在輸入問題時:
- 選中代碼,開始輸入您的問題,通義靈碼將圍繞著選中代碼與您開展對話;
- 精準表達問題,以及給出相對詳細的上下文輸入, 比如選中的代碼、日志、報錯信息等;
- 多多互動,告訴通義靈碼,所給出代碼建議或回答是否滿足您的預期,或生成內(nèi)容存在的具體瑕疵,通義靈碼也會不斷改進。
2.1.1. 自由問答
當您編碼遇到問題,缺乏具體解決思路時,可單擊 IDE 側(cè)邊工具導航或使用?
?
L
喚起通義靈碼智能問答助手,無需離開 IDE 客戶端,即可快速獲得答案和解決思路。
2.1.2. 代碼問答
當您對某段代碼有疑問或期望針對代碼進行一些問題解決時,選中代碼后,在智能問答窗口的輸入框中輸入您的問題,通義靈碼將圍繞選中代碼與您開展對話。
2.1.3. @workspace 本地工程問答
當您需要快速了解一個工程、查找工程內(nèi)的實現(xiàn)邏輯,或有新的訴求需要進行代碼變更時,可以在智能問答窗口中通過 @
可喚起 @workspace
,選中后輸入您的問題或訴求,通義靈碼可快速結合當前倉庫進行工程理解、代碼查詢、代碼問答等,同時可以通過自然語言描述需求,結合當前工程生成簡單需求或缺陷的整體修改建議和相關建議代碼。
2.1.4. @terminal 問答
當您遇到執(zhí)行指令不知道如何寫,或者不清楚某個指令的意思時,可以在智能問答窗口中通過 @
可喚起 @terminal
,選擇后使用自然語言描述您的需要指令訴求,通義靈碼將可以生成您需要的命令。生成指令后,您可以一鍵插入到 terminal 中進行執(zhí)行或讓通義靈碼繼續(xù)解釋。當然,您也可以在選擇 @terminal
后,輸入指令讓通義靈碼生成指令解釋。
2.1.5. #teamDocs 知識庫問答(企業(yè)版)
當您需要結合企業(yè)內(nèi)私域知識信息讓通義靈碼進行回答時,可以在智能問答窗口中通過 #
喚起 #teamDocs
,并輸入問題,通義靈碼將結合企業(yè)知識庫(當前用戶有權限的知識庫)對問題進行回答,在回復中也可以單擊查看引用的企業(yè)知識庫內(nèi)容。
2.1.6. 清空會話上下文歷史記憶
當您在會話中時,在智能問答輸入框中輸入 /
即可看到 /clear context
指令,選擇后即可清空當前會話的上下文歷史記憶。
2.1.7. 新建會話
在智能問答窗口中,單擊右上角的新建按鈕即可新建會話窗口,單擊后會話窗口將回到默認狀態(tài)。
2.1.8. 查看會話歷史
歷史會話功能幫助您檢索和回顧與通義靈碼的交流記錄,方便針對多次的建議進行對比和選擇。不管您在哪個 IDE 客戶端上、哪個工程中,均可以查看或搜索您和通義靈碼的歷史會話。
2.2. 智能生成指令
2.2.1. 指令觸發(fā)方式
通義靈碼提供多處觸發(fā)單元測試生成、代碼解釋、生成代碼注釋、代碼優(yōu)化功能的入口,當您選中的代碼后,有 3 種觸發(fā)方式:
-
- 在編輯器中,單擊右鍵找到通義靈碼功能操作入口,單擊對應功能操作;
- 在智能問答中,直接單擊對應功能操作;
- 在智能問答中,使用
/
查看快捷指令,單擊對應功能操作。
當需要針對一個方法實現(xiàn)生成單元測試、代碼注釋、代碼解釋、代碼優(yōu)化時,無需選中代碼,可直接單擊函數(shù)上方的快捷入口觸發(fā)相關功能操作。
2.2.2. 選擇指令后輸入回答要求
當您選中代碼后,并通過在智能問答窗口的輸入框輸入 / 的方式選中指令后,可以繼續(xù)輸入附加的要求,比如:
- 選擇
/generate unit test
后,繼續(xù)輸入您對單元測試生成的要求,比如使用 JUnit 5生成
; - 選擇
/generate comment
后,繼續(xù)輸入生成注釋的要求,比如開頭標明日期,并用英文注釋
。
2.2.2.1. 指令一:解釋代碼
覆蓋各種編程語言,選中代碼后可自動識別編程語言并生成代碼解釋。跨越語言的邊界,讓您閱讀代碼更高效。
2.2.2.2. 指令二:生成單元測試
支持根據(jù) JUnit、Mockito、Spring Test、unit test、pytest 等框架生成單元測試。
2.2.2.3. 指令三:生成注釋
一鍵生成方法注釋及行間注釋,節(jié)省您寫代碼注釋的時間,并能夠有效提升代碼可讀性。
2.2.2.4. 指令四:代碼優(yōu)化
深度分析代碼及其上下文,迅速識別潛在的編碼問題,從簡單的語法錯誤到復雜的性能瓶頸,均能夠指出問題所在,并提供具體的優(yōu)化建議代碼。
2.2.3. 生成回答后快捷操作
針對不同的指令生成回答后,在智能問答區(qū)中,可以繼續(xù)根據(jù)訴求進行操作,不同功能的對應操作如下:
- 生成單元測試:
- 采納單元測試代碼建議:支持一鍵插入、復制、或者新建代碼文件,可快速采納生成的單元測試代碼建議;
- 更換單元測試框架:提供基于 JUnit、Mockito、Spring Test、unit test、pytest 等框架生成單元測試代碼建議,在回答完成后,可以根據(jù)需要切換框架重新生成;
- 新建文件:支持一鍵保存單元測試代碼為新文件,方便進行查看和修改。
- 生成代碼優(yōu)化建議
- 采納代碼優(yōu)化建議:針對優(yōu)化建議中的建議代碼,支持一鍵插入、復制,快速采納生成的建議代碼;
- 查看 Diff:單擊查看 Diff 按鈕,將快速喚起 IDE Diff 查看窗口,快速了解建議和源代碼的變更;
- 生成代碼注釋:
- 采納代碼注釋建議:支持一鍵插入、復制,可快速采納生成的代碼注釋建議;
- 查看 Diff:單擊查看 Diff 按鈕,將快速喚起 IDE Diff 查看窗口,快速了解建議和源代碼的變更。
- 解釋代碼:
- 支持重試、更詳細、更簡單、中文/英文解釋的追問。
2.3. 問題修復建議
2.3.1. 代碼問題一鍵修復
當您在編碼過程中出現(xiàn)代碼問題需要進行修復時,通義靈碼可以一鍵給出修復建議,幫您快速修復代碼問題??梢酝ㄟ^編輯器中報錯圖標中下拉菜單中或 Problem 窗口中聚焦到報錯信息后右鍵菜單中,單擊通義靈碼一鍵修復菜單,即可生成修復建議和相關建議代碼。
2.3.2. 異常報錯排查(IntelliJ IDEA)
在 IntelliJ IDEA 中,當運行出現(xiàn)異常報錯時,在運行標準輸出窗口中,即可看到通義靈碼的快捷操作按鈕,單擊后,通義靈碼將結合運行代碼、異常堆棧等報錯上下文,快速給出排查思路或修復建議。
2.3.3. 執(zhí)行報錯、編譯報錯排查(Visual Studio Code)
在 Visual Studio Code 中,當 terminal 中執(zhí)行指令后報錯、編譯或運行后有大量報錯,需要進行解釋或修復時,可以選中報錯信息,右鍵選擇使用通義靈碼一鍵解釋,也會為您生成相關命令解釋及問題解決建議。
2.4. 提交信息生成
當您有代碼變更需要提交,需要寫提交信息時,可以通過通義靈碼一鍵生成 Git 提交信息,同時可以在插件設置中配置生成的語言(英文/中文)。
3. AI程序員使用指南
通義靈碼 AI 程序員,具備多文件代碼修改(Multi-file Edit)和工具使用(Tool-use)的能力,可以與開發(fā)者協(xié)同完成編碼任務,如需求實現(xiàn)、問題解決、單元測試用例生成、批量代碼修改等。
AI 程序員可以幫助開發(fā)者快速完成一個研發(fā)任務的代碼編寫工作,在與 AI 程序員對話過程中,可以遵循以下幾點建議:
- 清晰的需求描述:首先需要澄清我們需要 AI 程序員幫我們做什么,建議包含一個明確的目標,并通過步驟式的結構化描述,詳細地描述你期望完成的開發(fā)任務要求;
- 指定需要的上下文:選擇代碼文件、圖片、codebase、codeChanges 等上下文,可以幫助 AI 程序員獲取需求相關的語境。同時,結合詳細執(zhí)行步驟和要求,AI 程序員更精準地了解你的意圖,生成最佳的方案和建議代碼;
- 明確生成要求:告訴 AI 程序員在生成代碼修改建議時,你期望它遵循的要求,比如語言、規(guī)范、格式、變更目標等,如“生成變更時,同時為每個方法生成英文注釋”;
- 善用快照功能:當 AI 生成內(nèi)容不符合預期,或你的需求有變化時,可以通過快照功能回退到之前的對話輪次和代碼變更,繼續(xù)重新提問;
- 審查和修改變更:AI 程序員完成多個文件的代碼變更后,開發(fā)者可以通過變更對比查看視圖(Diff View)進行審查,以及對局部代碼片段進行接受、拒絕、修改,保證最后得到符合預期的代碼變更。
通義靈碼,每天進步不止一點點,可以和開發(fā)者協(xié)同完成編碼任務。
3.1.1. 喚起 AI 程序員(Summon your AI Developer)
當開發(fā)者期望和 AI 程序員一起完成一個研發(fā)任務時,可以通過 IDE 擴展導航打開通義靈碼插件的窗口,并切換到 AI 程序員模塊即可開始使用。
3.1.2. 與 AI 程序員一起編程(Coding with AI Developer)
AI 程序員與開發(fā)者一起圍繞開發(fā)任務進行編碼工作時,開發(fā)者需要輸入清晰的需求描述和要求,AI 程序員可以為開發(fā)者在工程內(nèi)進行多個文件的修改,開發(fā)者審查并接受相關代碼變更即可。同時,通義靈碼提供了相關的交互界面幫助開發(fā)者與 AI 程序員進行對話和交互,整體交互界面區(qū)域如下:
- 新建會話:如果和 AI 程序員正在對話并有文件變更,單擊后將出現(xiàn)二次確認,確認后會終止或取消當前文件變更,同時創(chuàng)建一個新的會話;
- AI 程序員對話區(qū)域:展示開發(fā)者(問題)和 AI 程序員(回答)對話的過程,如果涉及到文件變更、計劃確認等,也將在會話流的回答卡片中進行狀態(tài)展示或操作;
- 工作區(qū):承載代碼變更文件的展示,以及針對當前會話流中的多次對話產(chǎn)生的多次變更文件進行快照管理,同時提供查看、拒絕、接受代碼變更的相關操作入口;
- 需求描述輸入?yún)^(qū)域:開發(fā)者進行需求描述輸入的區(qū)域,提供了選擇上下文、自然語言輸入、自然語言和上下文組裝的能力;
- 變更對比查看和操作區(qū)域:當前快照下文件與其對應本地文件的變更差異查看視圖,并提供針對代碼變更片段進行修改、拒絕或接受的操作,以及文件級別的變更接受或拒絕操作。
3.1.3. 需求描述輸入(User Input)
打開 AI 程序員后,即可看到需求輸入?yún)^(qū)域,在輸入框內(nèi)單擊 + 或者輸入#
即可選擇需要的相關上下文。輸入完成后發(fā)送即可,AI 程序員將根據(jù)需求描述自動進行需求理解、相關信息檢索、任務拆解、編碼實現(xiàn)等。
3.1.4. 多文件代碼修改(Multi-file Edit)
3.1.4.1. 變更文件生成過程
當 AI 程序員對工程內(nèi)多個代碼文件進行修改時,每一個文件的修改將至少經(jīng)歷生成、應用的過程,生成代碼變更的過程中,可在 AI 程序員的回答卡片中和工作區(qū)中看到相關的變更文件,以及相應的狀態(tài):
- 生成中(Generating):根據(jù)任務拆解的修改計劃生成對各個文件的代碼片段修改建議的過程;
- 應用中(Applying):某文件的代碼片段修改建議生成完成后,將自動結合原文件內(nèi)容和代碼片段修改建議,生成相關代碼變更文件(非原文件);
- 應用完成(Applied): 代碼變更文件生成完成。
回答卡片中的文件或工作區(qū)的文件在生成中、應用中的狀態(tài)時,單擊對應文件,即可看到對應文件的代碼修改建議生成過程、代碼變更文件與原文件變更對比(Diff)生成過程。
AI 程序員完成的代碼變更文件將聚合在工作區(qū),方便開發(fā)者進行查看和操作。
3.1.4.2. 審查、接受、拒絕代碼變更
單擊工作區(qū)的查看變更按鈕或單擊文件列表中的某文件,即可看到對應文件的變更對比查看視圖(Diff View),開發(fā)者在此視圖中可以進行如下操作:
- 單擊上下鍵進行切換查看當前文件的多個變更點;
- 單擊某變更點上的拒絕、采納按鈕進行決策操作;
- 單擊文件級操作區(qū)的前后鍵進行多個變更文件的查看;
- 單擊文件級操作區(qū)的拒絕、采納按鈕進行決策操作;
- 局部修改當前變更文件。
JetBrains IDEs 的視圖和操作位置,示意如下:
VS Code 的視圖和操作位置,示意如下:
說明
- 開發(fā)者基于當前快照的代碼變更文件產(chǎn)生的修改,將統(tǒng)一進入當前快照的最新內(nèi)容中,進行拒絕或接受操作時,將統(tǒng)一被拒絕或接受;
- 當單擊接受某片段、某文件的代碼變更時,變更內(nèi)容將被合并到原文件代碼內(nèi)容中。
當所有代碼變更文件均被操作過拒絕或接受變更后,當前快照會變?yōu)橐呀邮?、部分接受、已拒絕狀態(tài),各個狀態(tài)的相關釋義如下:
- 已接受:某文件有代碼變更接受,視為該文件為已接受狀態(tài);所有文件為已接受狀態(tài),當前快照為已接受狀態(tài);
- 部分接受:某文件有代碼變更接受,視為該文件為已接受狀態(tài);有部分文件為已接受狀態(tài),當前快照為部分接受狀態(tài);
- 已拒絕:某文件在無代碼變更被接受,視為該文件為已拒絕狀態(tài);所有文件為已拒絕狀態(tài),當前快照為已拒絕狀態(tài)。
3.1.5. 多輪對話及變更快照(Multi-turns & Snapshot)
3.1.5.1. 進行多輪次需求對話
當進行了一輪對話并生成代碼變更文件后,如需繼續(xù)補充需求或者修改需求,可在當前任務的會話流中繼續(xù)提問,AI 程序員將結合前序輪次生成的代碼變更分析補充的需求,并生成新的代碼修改建議,產(chǎn)生一個或多個新的代碼變更文件。
3.1.5.2. 快照查看和變更回退
當需要查看或回退到前序輪次的修改時,可單擊下拉箭頭查看當前會話任務中產(chǎn)生的多次代碼變更快照,選擇后,可以看到相關信息變化或進行切換操作:
- 會話流中自動定位到產(chǎn)生該快照代碼變更文件的回答卡片;
- 快照下方文件列表自動切換到所選快照下的代碼變更文件,單擊后可查看代碼變更內(nèi)容;
- 單擊“切換”按鈕,將當前代碼變更回退到所選快照的代碼變更狀態(tài)。
4. 單元測試生成(UnitTest Agent)
單元測試智能體是 AI 程序員所具備的一種專項能力,可以針對代碼變更(#codeChanges)、單個或多個代碼文件批量生成單元測試文件。開發(fā)者輸入被測內(nèi)容、生成要求,AI 程序員即可自動生成測試計劃、測試用例、編譯、運行以及根據(jù)錯誤信息進行自動修復,大幅提升測試用例覆蓋度和用例的生成質(zhì)量,降低開發(fā)者編寫單元測試用例的成本。
4.1. 選擇被測代碼并輸入測試要求
打開 AI 程序員后,在輸入框內(nèi)單擊 + 或者輸入#
即可選擇需要的相關上下文,并輸入相關的指令要求(建議輸入和生成單元測試相關要求的內(nèi)容),輸入完成后發(fā)送即可,AI 程序員會自動感知意圖,開始進入生成單元測試的流程。
4.2. 選擇和確認環(huán)境信息
收到測試要求后,AI 程序員會自動檢測本地環(huán)境 Java 版本、構建工具、測試框架、Mock 框架等信息,如果檢測到多個版本,開發(fā)者可主動選擇需要的版本;如果無法識別,將看到提示錯誤,單擊“如何修復”按鈕,開發(fā)者可以進一步了解如何配置相關組件。
4.3. 確定被測方法
環(huán)境信息檢查通過后,AI 程序員將自動分析被測文件,并生成測試計劃,開發(fā)者可以主動選擇需要覆蓋的方法,選擇并確認完成后,單擊確定按鈕,即可開始為每個方法生成單元測試用例。
說明
- 每次至少選擇 1 個方法為其生成測試用例,最多選擇 20 個方法;
- 選擇方法后,會提示整體生成過程預計需要的時間,以供參考。
4.4. 查看生成進展
在確定被測方法后,AI 程序員將自動根據(jù)開發(fā)者選擇的被測方法進行單測用例生成工作,并自動對生成的結果進行編譯、運行和自動修復。最終的結果會展示在界面中,狀態(tài)及釋義如下:
當所有方法的用例生成完成后,AI 程序員自動將編譯通過和運行通過的用例合并成最終測試用例文件,并根據(jù)被測文件自動進行命名。對于編譯失敗的測試用例代碼,開發(fā)者可自行選擇是否需要,所有用例代碼確認后,可單擊完成按鈕,測試用例文件將自動與原測試用例文件進行差異對比。
4.5. 審查、接受測試用例文件代碼
確認完成后,測試用例文件會出現(xiàn)在工作區(qū)中,開發(fā)者可單擊工作區(qū)的查看變更按鈕或單擊文件列表中的某文件,即可看到對應文件的變更對比查看視圖(Diff View),開發(fā)者可進行審查、局部修改、接受或拒絕部分代碼等。確認所有代碼變更后,單擊接受按鈕,,測試用例文件變更代碼將正式進入到當前代碼工程。
4.6. 查看會話歷史
如果需要回顧歷史的會話任務,可單擊會話歷史按鈕。你與 AI 程序員的會話均有 @AI Developer
標簽,單擊后即可查看相關對話過程。