ChatGPT不是唯一:自動編寫程序的另七個選擇!
譯文譯者 | 布加迪
審校 | 重樓
ChatGPT并不是唯一可以幫助編寫代碼的AI工具。不妨使用這些工具,將你的編程效率提升一個檔次。
ChatGPT是一種出色的AI工具,可以根據(jù)提示自動生成代碼。然而,它并不特別關(guān)注代碼,可能無法無縫地集成到你的工作流程中。以下是更多注重代碼的AI工具方面的幾個選擇。
1、GitHub Copilot
圖片
GitHub Copilot是GitHub與OpenAI合作開發(fā)的一款A(yù)I助手。當(dāng)您擊鍵輸入時,它會建議各種編程語言的完整代碼行。Copilot是使用GitHub上可用的公共代碼庫進(jìn)行訓(xùn)練的。
GitHub Copilot的一些主要功能:
- 可以分析代碼,根據(jù)上下文建議代碼片段??梢越ㄗh變量名、函數(shù)和整行代碼。
- 可以根據(jù)用自然語言編寫的注釋生成代碼。
- 可以支持多種編程語言,包括Python、JavaScript、TypeScript、Ruby、Go、PHP、C++、C#、Java、HTML、CSS、SQL和Shell。
- 可以作為Visual Studio Code(VS Code)、Visual Studio、Neovim和JetBrains的IDE套件中的擴(kuò)展來使用。
GitHub Copilot不是免費的,但有30天的免費試用期。到期后,需要訂閱個人或企業(yè)套餐才能使用它。
GitHub還發(fā)布了使用GPT4的Copilot X。它引入了更多的AI輔助功能,比如生成的合并請求、上下文感知對話、自動化測試和命令行AI。
2、Codeium
圖片
Codeium是一種免費的基于AI的代碼生成工具,可以由自然語言注釋或以前的代碼片段生成代碼。
它的一些主要功能:
- 支持40多種編程語言,包括C++、Go、Java、JavaScript、Rust、Python和PHP等。
- 使用龐大的公共代碼數(shù)據(jù)集進(jìn)行訓(xùn)練。
- 與流行的IDE集成,比如VSCode、JetBrains、Jupyter/Colab Notebook、Neovim、Emacs和VSCode Web IDE(如Gitpod)。
- Codeium通過為你生成測試用例簡化測試驅(qū)動的開發(fā)。
- Codeium可以根據(jù)編寫的上下文或注釋在代碼中搜索和插入API端點。
- 企業(yè)套餐允許公司將Codeium部署在自己的服務(wù)器或云端,以確保代碼保持私密。
可以在Codeium游戲場(https://codeium.com/playground)上看到它是如何工作的。
3、CodeWhisperer
圖片
CodeWhisperer是亞馬遜創(chuàng)建的代碼生成工具。與Copilot和Codeium一樣,它根據(jù)上下文和注釋生成代碼建議。主要區(qū)別在于CodeWhisperer主要致力于為AWS服務(wù)支持代碼。
它的一些主要功能:
- 與現(xiàn)代IDE集成,比如Visual Studio Code(通過AWS Toolkit for Visual Studio Code)、JetBrains(通過AWS Toolkit for JetBrains)、AWS Lambda控制臺和AWS Cloud9。
- 掃描代碼以高亮顯示和定義安全問題。
- 選擇不讓CodeWhisperer與AWS共享你的數(shù)據(jù)。
- 使用內(nèi)部的亞馬遜代碼和開源代碼進(jìn)行訓(xùn)練。
- 支持Java、JavaScript、Python、C#和TypeScript。
CodeWhisperer對個人用戶免費,但專業(yè)套餐每個用戶每月需收費19美元。
4、Tabnine
圖片
Tabnine也是一款在IDE中工作的自動代碼生成工具。它根據(jù)之前的代碼和注釋生成代碼。
它的一些主要功能:
- 支持30余種編程語言,包括JavaScript、Python、TypeScript、Rust、Go和Bash。
- 如果使用專業(yè)版,能夠托管和訓(xùn)練自己的AI模型,專業(yè)版確保代碼仍然是你的。
- 能夠根據(jù)你的合規(guī)和安全要求在本地或云端運行。
- 單元測試生成(目前僅限于beta版)。
- 與主要的IDE集成,比如VS Code、Neovim、Rider和Android Studio。
Tabnine有三個版本:免費版、專業(yè)版和企業(yè)版。免費版非常有限,只提供簡短的代碼補(bǔ)全。然而企業(yè)版有更多的功能。你可以在本地或VPC上部署Tabnine,確保你的代碼保持私密。它還有IDE中的聊天功能。
5、Codex
圖片
Codex是OpenAI開發(fā)的一種語言模型,它根據(jù)問題描述等自然語言提示生成代碼。這是驅(qū)動GitHub Copilot的模型。
它的一些主要功能:
- 支持多種語言,包括Python、JavaScript、Java和C++。
- 可以使用自然語言和數(shù)十億行代碼進(jìn)行訓(xùn)練。
- 可以通過OpenAI Codex API來使用,API允許開發(fā)人員將其集成到自己的應(yīng)用程序和工作流中。
在測試期間,Codex可以免費使用。如果在JavaScript代碼沙箱(https://platform.openai.com/codex-javascript-sandbox)中輸入提示,可以了解它是如何工作的。
6、Intellicode
圖片
Intellicode是面向Visual Studio的免費AI代碼生成工具。它可以檢測代碼的上下文,并生成建議。目前它支持Python、TypeScript/JavaScript和Java編程語言。
以下是它的一些主要功能:
- 使用GitHub上擁有高星評級的開源項目進(jìn)行訓(xùn)練的。
- 為10萬多個API提供了API使用示例。
- 它只適用于Visual Studio IDE。
Intellicode支持非常有限的編程語言,只在一種IDE中工作。使用本文中討論的其他更靈活的工具可能會更好。
7、AskCodi
圖片
AskCodi提供了一種全面的工具來幫助開發(fā)人員快速生成代碼。它有不同的應(yīng)用程序來生成不同類型的代碼。比如說,它可以回答有關(guān)前端語法、測試用例、數(shù)據(jù)庫的SQL和NoSQL查詢以及Python代碼的文檔字符串等問題。
以下是它的主要功能:
- 支持30多種編程語言和框架,比如Kotlin、JavaScript、Angular、Ruby、Swift、Ruby、Python和Rust等。它還提供WordPress和Powershell問題的答案。
- 可以在終端上使用,可以與VS Code和PyCharm等IDE集成。
- 支持除英語之外的多種自然語言,比如德語、波蘭語和西班牙語。
- 可以將代碼片段從一種編程語言轉(zhuǎn)換成另一種編程語言。
- 有工作簿,可以在其中生成測試、將代碼記入文檔。
AskCodi有免費版和付費版,前者積分有限,后者有更多的積分。
8、應(yīng)該依賴代碼生成器嗎?
諸如此類的AI代碼生成器對于減少編寫的代碼量非常有幫助。然而,開發(fā)者不應(yīng)該完全依賴它們來編寫整個應(yīng)用程序。它們生成的代碼可能并不總是正確的。在將生成的代碼與生產(chǎn)級代碼集成之前,徹底測試和檢查一番非常重要。
最好將代碼助手視為補(bǔ)充編程知識的工具。比如說,依賴它們生成樣板代碼,或者當(dāng)使用一種新的編程語言或框架、希望學(xué)習(xí)其語法時可以借助它們。
原文鏈接:https://www.makeuseof.com/chatgpt-alternative-for-coding-programs-automatically/