Amazon AWS CodeWhisperer 是一款基于机器学习的AI编码助手,可以根据开发者在集成开发环境(IDE)中的代码和注释,提供自动化的代码建议,帮助开发者更快、更安全地编写应用程序。

CodeWhisperer 可以生成完整的函数和逻辑代码块,无需从网上搜索和定制代码片段。

CodeWhisperer 还可以根据自然语言(英语)的注释,生成单元测试代码,减少编写重复代码的时间和精力。

CodeWhisperer 支持多种编程语言,包括 Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL 和 Scala。

CodeWhisperer 还可以与多种 IDE 集成,包括 JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm 和 Rider), Visual Studio (VS) Code, AWS Cloud9 和 AWS Lambda 控制台。

特色功能

实时定制化的代码建议

CodeWhisperer 基于 Amazon 和公开可用的数十亿行代码进行训练,可以理解自然语言(英语)的注释,并根据注释实时生成多个代码建议,提高开发者的生产力。服务会根据开发者的风格和命名习惯,生成与开发者编写代码类似的代码建议。开发者可以快速接受最佳建议(tab 键),查看更多建议(方向键),或继续编写自己的代码。在输入时,CodeWhisperer 甚至会提供完成注释本身的建议。

针对 AWS 服务的优化

CodeWhisperer 可以让开发者更高效地使用 AWS 服务,提供针对 AWS API 的代码建议,包括 Amazon EC2, AWS Lambda 和 Amazon S3 等最受欢迎的服务。当开发者在 IDE 中编写代码时,CodeWhisperer 会自动分析代码和注释,并根据所需功能使用相关的云服务和公共软件库提出建议,并推荐符合 AWS 最佳实践的代码片段。

内置安全扫描

CodeWhisperer 可以扫描 Java, JavaScript 和 Python 项目,检测难以发现的漏洞,例如前十大开放式网络应用程序安全项目(OWASP)中的漏洞或不符合加密库最佳实践等安全最佳实践中的漏洞。服务会分析 IDE 中现有的代码(无论是由 CodeWhisperer 生成还是由开发者编写),准确地识别出有问题的代码,并提供智能化的修复建议。

负责任地使用开源代码:参考跟踪器

CodeWhisperer 提供了一个内置的参考跟踪器,可以检测是否有代码建议可能类似于开源训练数据,并对这些建议进行标记。这些建议会附带开源项目的仓库 URL、文件引用和许可信息,以便开发者在决定是否使用这些建议之前进行审查。所有被标记的建议都会被记录,以便开发者可以在适当的时候进行审核,并根据自己的判断添加许可归属。

收费价格

Amazon AWS CodeWhisperer 目前处于免费预览阶段,开发者可以通过申请获得预览访问码,然后在 IDE 中启用服务。预览阶段结束后,CodeWhisperer 将采用按使用量付费的定价模式,具体价格尚未公布。

常见问题

Q: CodeWhisperer 支持哪些编程语言和 IDE?

A: CodeWhisperer 支持多种编程语言,包括 Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell scripting, SQL 和 Scala。 CodeWhisperer 还可以与多种 IDE 集成,包括 JetBrains IDEs (IntelliJ IDEA, PyCharm, WebStorm 和 Rider), Visual Studio (VS) Code, AWS Cloud9 和 AWS Lambda 控制台。

Q: CodeWhisperer 如何保护我的代码和数据的隐私?

A: CodeWhisperer 不会存储或共享您的代码或数据。CodeWhisperer 只会在您的 IDE 中分析您的代码和注释,并将其发送到 AWS 服务器以生成代码建议。您可以随时停用服务或删除插件。

Q: CodeWhisperer 生成的代码是否可靠和安全?

A: CodeWhisperer 生成的代码是基于机器学习模型的推荐,不一定完全符合您的需求和期望。您应该在接受任何建议之前对其进行审查,并根据需要进行修改,以确保其正确无误。CodeWhisperer 还提供了内置的安全扫描功能,可以帮助您检测和修复代码中可能存在的漏洞。

Q: CodeWhisperer 是否支持中文注释?

A: 是的,CodeWhisperer 可以理解中文注释,并根据注释生成代码建议。 但是,目前只支持英语作为自然语言输入,因此建议您使用英语注释以获得更好的效果。

Q: CodeWhisperer 是否支持开源代码的参考和归属?

A: 是的,CodeWhisperer 提供了一个内置的参考跟踪器,可以检测是否有代码建议可能类似于开源训练数据,并对这些建议进行标记。这些建议会附带开源项目的仓库 URL、文件引用和许可信息,以便开发者在决定是否使用这些建议之前进行审查。所有被标记的建议都会被记录,以便开发者可以在适当的时候进行审查,并根据自己的判断添加许可归属。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
搜索