您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

ChatGPT不是唯一:自动编写程序的另七个选择!

发表于:2023-09-28 作者:布加迪 来源:51CTO技术栈

译者 | 布加迪

审校 | 重楼

ChatGPT并不是唯一可以帮助编写代码的AI工具。不妨使用这些工具,将你的编程效率提升一个档次。

ChatGPT是一种出色的AI工具,可以根据提示自动生成代码。然而,它并不特别关注代码,可能无法无缝地集成到你的工作流程中。以下是更多注重代码的AI工具方面的几个选择。

1、GitHub Copilot

图片图片

GitHub Copilot是GitHub与OpenAI合作开发的一款AI助手。当您击键输入时,它会建议各种编程语言的完整代码行。Copilot是使用GitHub上可用的公共代码库进行训练的。

GitHub Copilot的一些主要功能:

  • 可以分析代码,根据上下文建议代码片段。可以建议变量名、函数和整行代码。
  • 可以根据用自然语言编写的注释生成代码。
  • 可以支持多种编程语言,包括Python、JavaScript、TypeScript、Ruby、Go、PHP、C++、C#、Java、HTML、CSS、SQL和Shell。
  • 可以作为Visual Studio Code(VS Code)、Visual Studio、Neovim和JetBrains的IDE套件中的扩展来使用。

GitHub Copilot不是免费的,但有30天的免费试用期。到期后,需要订阅个人或企业套餐才能使用它。

GitHub还发布了使用GPT4的Copilot X。它引入了更多的AI辅助功能,比如生成的合并请求、上下文感知对话、自动化测试和命令行AI。

2、Codeium

图片图片

Codeium是一种免费的基于AI的代码生成工具,可以由自然语言注释或以前的代码片段生成代码。

它的一些主要功能:

  • 支持40多种编程语言,包括C++、Go、Java、JavaScript、Rust、Python和PHP等。
  • 使用庞大的公共代码数据集进行训练。
  • 与流行的IDE集成,比如VSCode、JetBrains、Jupyter/Colab Notebook、Neovim、Emacs和VSCode Web IDE(如Gitpod)。
  • Codeium通过为你生成测试用例简化测试驱动的开发。
  • Codeium可以根据编写的上下文或注释在代码中搜索和插入API端点。
  • 企业套餐允许公司将Codeium部署在自己的服务器或云端,以确保代码保持私密。

可以在Codeium游戏场(https://codeium.com/playground)上看到它是如何工作的。

3、CodeWhisperer

图片图片

CodeWhisperer是亚马逊创建的代码生成工具。与Copilot和Codeium一样,它根据上下文和注释生成代码建议。主要区别在于CodeWhisperer主要致力于为AWS服务支持代码。

它的一些主要功能:

  • 与现代IDE集成,比如Visual Studio Code(通过AWS Toolkit for Visual Studio Code)、JetBrains(通过AWS Toolkit for JetBrains)、AWS Lambda控制台和AWS Cloud9。
  • 扫描代码以高亮显示和定义安全问题。
  • 选择不让CodeWhisperer与AWS共享你的数据。
  • 使用内部的亚马逊代码和开源代码进行训练。
  • 支持Java、JavaScript、Python、C#和TypeScript。

CodeWhisperer对个人用户免费,但专业套餐每个用户每月需收费19美元。

4、Tabnine

图片图片

Tabnine也是一款在IDE中工作的自动代码生成工具。它根据之前的代码和注释生成代码。

它的一些主要功能:

  • 支持30余种编程语言,包括JavaScript、Python、TypeScript、Rust、Go和Bash。
  • 如果使用专业版,能够托管和训练自己的AI模型,专业版确保代码仍然是你的。
  • 能够根据你的合规和安全要求在本地或云端运行。
  • 单元测试生成(目前仅限于beta版)。
  • 与主要的IDE集成,比如VS Code、Neovim、Rider和Android Studio。

Tabnine有三个版本:免费版、专业版和企业版。免费版非常有限,只提供简短的代码补全。然而企业版有更多的功能。你可以在本地或VPC上部署Tabnine,确保你的代码保持私密。它还有IDE中的聊天功能。

5、Codex

图片图片

Codex是OpenAI开发的一种语言模型,它根据问题描述等自然语言提示生成代码。这是驱动GitHub Copilot的模型。

它的一些主要功能:

  • 支持多种语言,包括Python、JavaScript、Java和C++。
  • 可以使用自然语言和数十亿行代码进行训练。
  • 可以通过OpenAI Codex API来使用,API允许开发人员将其集成到自己的应用程序和工作流中。

在测试期间,Codex可以免费使用。如果在JavaScript代码沙箱(https://platform.openai.com/codex-javascript-sandbox)中输入提示,可以了解它是如何工作的。

6、Intellicode

图片图片

Intellicode是面向Visual Studio的免费AI代码生成工具。它可以检测代码的上下文,并生成建议。目前它支持Python、TypeScript/JavaScript和Java编程语言。

以下是它的一些主要功能:

  • 使用GitHub上拥有高星评级的开源项目进行训练的。
  • 为10万多个API提供了API使用示例。
  • 它只适用于Visual Studio IDE。

Intellicode支持非常有限的编程语言,只在一种IDE中工作。使用本文中讨论的其他更灵活的工具可能会更好。

 7、AskCodi

图片图片

AskCodi提供了一种全面的工具来帮助开发人员快速生成代码。它有不同的应用程序来生成不同类型的代码。比如说,它可以回答有关前端语法、测试用例、数据库的SQL和NoSQL查询以及Python代码的文档字符串等问题。

以下是它的主要功能:

  • 支持30多种编程语言和框架,比如Kotlin、JavaScript、Angular、Ruby、Swift、Ruby、Python和Rust等。它还提供WordPress和Powershell问题的答案。
  • 可以在终端上使用,可以与VS Code和PyCharm等IDE集成。
  • 支持除英语之外的多种自然语言,比如德语、波兰语和西班牙语。
  • 可以将代码片段从一种编程语言转换成另一种编程语言。
  • 有工作簿,可以在其中生成测试、将代码记入文档。

AskCodi有免费版和付费版,前者积分有限,后者有更多的积分。

8、应该依赖代码生成器吗?

诸如此类的AI代码生成器对于减少编写的代码量非常有帮助。然而,开发者不应该完全依赖它们来编写整个应用程序。它们生成的代码可能并不总是正确的。在将生成的代码与生产级代码集成之前,彻底测试和检查一番非常重要。

最好将代码助手视为补充编程知识的工具。比如说,依赖它们生成样板代码,或者当使用一种新的编程语言或框架、希望学习其语法时可以借助它们。

原文链接:https://www.makeuseof.com/chatgpt-alternative-for-coding-programs-automatically/