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