CodeGeeX是一款基于大模型的智能編程助手,它可以實現(xiàn)代碼的生成與補全、自動為代碼添加注釋、自動解釋代碼、 自動編寫單元測試、實現(xiàn)代碼審查Code Review、自動修復代碼fixbug、自動生成commit message完成git提交,以及在不同編程語言的代碼間實現(xiàn)互譯、針對技術和代碼問題的智能問答等豐富的功能。幫助開發(fā)者顯著提高工作效率,CodeGeeX支持300+種編程語言,適配多種主流IDE平臺,包括 Visual Studio Code,JetBrains IDEs,Visual Studio,HBuilderX, DeepIn-IDE等。
分類 | 支持的語言 | |
---|---|---|
1 | 前端 | VUE、JavaScript、TypeScript、HTML、CSS、React |
2 | 后端 | C、C++、Java、Python、 Go、PHP、Rust、SQL |
3 | APP端 | ObjectC、Kotlin、Swift、Uni-App、 |
4 | 其他 | Peal、Ruby、GraphQL、Cobol |
*支持語言的完整列表:https://github.com/THUDM/CodeGeeX2/blob/main/evaluation/utils.py#L14
功能 | 描述 | |
---|---|---|
1 | 單行/多行代碼續(xù)寫 | 根據(jù)上下文代碼內(nèi)容,推理出光標所在的當前行、當前段代碼的內(nèi)容。在實際開發(fā)場景中最常見也是提效最明顯的場景。 |
2 | 根據(jù)注釋生成代碼 | 根據(jù)自然語言的注釋,自動生成所需要的代碼,可以生成完整的方法級函數(shù)。 |
3 | AskCodeGeeX智能問答 | 通過側(cè)邊欄的智能問答交互,可以將開發(fā)中遇到的技術問題,直接向CodeGeeX提問,獲得快速解答。 |
4 | 自動添加注釋 | 給代碼自動添加行級注釋,可以根據(jù)需要選擇英文或者中文。 |
5 | 代碼翻譯 | 多種編程語言之間進行互譯。理解代碼語義并在保留原始代碼語義和功能的基礎上,翻譯成另一種編程語言的等效代碼。 |
6 | 生成單元測試 | 根據(jù)函數(shù)、方法的內(nèi)容和運行邏輯,生成相關的單元測試代碼。支持Java 、Python 、Go 、C/C++、 JavaScript等。 |
7 | NL2SQL | 基于給定的SQL表結(jié)構和自然語言描述的查詢需求,生成SQL查詢語句。 |
8 | 函數(shù)重構 | 快速進行函數(shù)重構,梳理代碼邏輯,降低出錯風險。 |
9 | 生成調(diào)試日志 | 通過理解代碼運行邏輯,為代碼自動生成調(diào)試信息,幫助用戶快速定位問題。 |
10 | 生成ReadMe文檔 | 根據(jù)代碼內(nèi)容快速生成符合ReadMe格式的文檔信息。 |
11 | Code Interpreter | 工具箱接入了Code Interpreter的能力,可以實現(xiàn)批量處理文件,分析多種格式的數(shù)據(jù)并進行可視化,繪制數(shù)學函數(shù),分析代碼文件等。 |
12 | 解釋代碼 | 為選中的代碼段或整個代碼文件生成詳細的注釋和解釋。這些解釋包括代碼的用途、每行代碼的作用、邏輯流程以及可能的改進建議。 |
13 | 修復代碼錯誤 | 通過智能分析代碼中的錯誤,提供具體的修復建議和詳細的錯誤解釋。用戶可以在編輯器中直接觸發(fā)代碼修復功能,避免手動查找錯誤原因和翻閱文檔。 |
14 | 交互式編程(InLine Chat) | 支持在編寫代碼的過程中,通過嵌入式對話與 CodeGeeX 互動,獲取即時的編程幫助。 |
15 | 代碼審查 | 支持對代碼變更進行詳細的檢查,直觀地查看代碼修改部分,并獲得智能編程助手給出的優(yōu)化建議。這有助于在代碼提交前發(fā)現(xiàn)潛在問題,提升代碼質(zhì)量。 |
16 | 自動生成Commit Message | 通過分析代碼的修改內(nèi)容,生成簡潔明了且符合規(guī)范的提交信息。用戶可以自定義提交信息的生成風格,確保提交歷史的清晰和一致。 |
17 | 接入本地模型 | 本地模式可以將本地 API 服務接入智能問答和代碼補全中,以實現(xiàn)安全、隱私、高效的編碼體驗。您可以將任何與 OpenAI 兼容的 RESTful API 接入到 CodeGeeX 的插件中。 |
登錄后的界面中,功能向?qū)谕扑]問題的上方出現(xiàn)。
在使用插件時,也可以隨時打開功能向?qū)В榭锤黜椆δ艿挠梅?。在其下方?nèi)置了更加豐富的推薦問題,新用戶可以通過點擊,快速體驗CodeGeeX的智能問答能力,解決90%以上的代碼技術相關問題。
當CodeGeeX插件處于激活狀態(tài)下,在編輯器中停止輸入時,會從當前光標處開始進行自動的代碼生成與補全。此時, 右下角 CodeGeeX 圖標轉(zhuǎn)圈表示正在 生成。生成的代碼以灰色顯示, 按 Tab 鍵即可將生成結(jié)果在當前位置插入。如果不需要使用生成的代碼,可按 Esc 鍵取消,也可以忽略生成的代碼并繼續(xù)輸入。
插件對于給定的輸入,多次生成的結(jié)果可能不同。這是因為通過大模型進行生成 ,結(jié)果帶有隨機性。這種隨機性可以從宏觀統(tǒng)計上提高生成的準確率。如果希望降低隨機性,可以在插件設置中調(diào)整部分參數(shù)設置,但不建議一般用戶調(diào)整這些設置。
更多建議: