当前位置:AIGC资讯 > AIGC > 正文

好用且免费的CodeWhisperer,给1024程序员节送礼来了

      国庆期间没有胆量去人从众的景点,关在家里刷手机时意外在亚马逊的User Group公众号上发现了CodeWhisperer这么个好东西(bu yao qian),以后撸代码也可以提高生产力(fang yang mo yu)了,这还不赶紧上手试一下。看官方介绍说它支持流行的IDE开发工具,包括VS Code、IntelliJ IDEA和Amazon Cloud9。正好最近在Github的Codespace上捣鼓大模型,想着是不是能在Codespace上玩一把CodeWhisperer(感觉是来砸Github Copilot的场子),但免费的不香吗?说干就干起来,下面是使用过程。

1. 关于CodeWhisperer

Amazon CodeWhisperer是一款基于机器学习的通用代码生成器,可以根据开发人员用自然语言编写的注释和集成式开发环境(IDE)中的代码生成代码建议,帮助开发人员提高工作效率。

CodeWhisperer经过数十亿行代码的训练,可以实时生成从代码片段到全函数的代码建议,绕过耗时的编码任务,加速使用不熟悉的API进行的构建。CodeWhisperer可以标记或筛选类似于开源训练数据的代码建议,扫描您的代码以检测难以发现的漏洞,并获取代码建议以立即修复这些漏洞。

CodeWhisperer支持15种编程语言,包括Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell脚本、SQL和Scala,以及主流的IDE开发工具,包括VS Code、IntelliJ IDEA和Amazon Cloud9。CodeWhisperer还提供内置的引用跟踪器,用于检测代码建议是否可能与开源训练数据相似,并可以标记此类建议。

CodeWhisperer还提供安全扫描(适用于Java和Python),旨在帮助开发人员检测项目漏洞并负责任地构建应用程序。在预览期间,使用Amazon CodeWhisperer的参与者成功完成任务的可能性要比未使用CodeWhisperer的参与者高27%,平均完成任务的速度快57%。

2. 关于Codespaces

GitHub Codespaces是一个基于云的即时开发环境,它使用容器为开发者提供用于开发的通用语言、工具和实用程序。GitHub Codespaces也是可配置的,通过它可为项目创建自定义的开发环境。通过为项目配置自定义开发环境,可以为项目的所有用户提供可重复的代码空间配置。创建的每个codespace都由GitHub托管在虚拟机上运行的Docker容器中。可以从多种虚拟机类型中选择,从2核、8GB RAM和32GB存储,到8核、32GB RAM和128GB存储。GitHub Codespaces允许用户创建安全、可配置、专属的云端开发环境。此集成意味着我们可以通过JetBrains Gateway使用在GitHub Codespaces中运行的最喜欢的IDE进行远程开发。所有语言处理都发生在由GitHub托管的虚拟机上,同时我们也可以在本地使用功能丰富的瘦客户端工作。

3. 在GitHub中新建Codespaces

3.1 打开GitHub Codespaces,进入codespace的控制台。

3.2 选择要使用的模板存储库,或者选择从头开始创建一个新的codespace。

3.3 如果选择使用模板存储库,则单击“使用此模板”,然后单击“在codespace中打开”。

3.4 如果选择从头开始创建一个新的codespace,则单击“创建新的codespace”。

3.5 等待codespace创建完成,这可能需要几分钟时间。

3.6 一旦codespace创建完成,可以在其中进行开发工作。

4. 在Codespace中安装CodeWhisperer

4.1 在控制台中,打开配置窗口,选择Plugins,搜索"Amazon Toolkit",点击Install,点击OK按钮。

4.2 安装完之后重启codespace。

4.3 打开Amazon Toolkit视图(菜单View/Tool Windows/Amazon Toolkit),点击"Developer Tools"tab页面,选择“CodeWhisperer/Start"。

4.4 弹出的窗口中选择“Use a personal email to sign up and sign in with Amazon Builder ID",点击“Connect”按钮。

4.5 在弹出的窗口中,选择“Open and Copy Code”。

4.6 此时会在浏览器中打开一个页面,按ctrl-v粘贴code值,点击“Next“。

4.7 输入邮箱地址,点击"Next",输入名字,点击“Next”,CodeWhisperer会向邮箱中发送一个验证码。

4.8 打开邮箱,可以看到验证码,复制验证码,粘贴到输入框,点击“Verify”按钮。

4.9 设置密码,点击“Create Amazon Builder ID“。

4.10 在最后一个页面中点击“Allow”按钮,即表示注册Amazon builder ID成功。

总体来说,插件的整个安装过程还是比较丝滑的。过程中我基本没有遇到什么问题,甚至有种被指引着走完全部过程的感觉。

5. 登陆CodeWhisperer

5.1 在codespace的控制台中,打开Amazon Toolkit视图(菜单View/Tool Windows/Amazon Toolkit),点击"Developer Tools"tab页面,选择“CodeWhisperer/Start"。

5.2 弹出的窗口中选择“Sign in with Amazon Builder ID",输入注册时设置的邮箱和密码,点击“Sign in”按钮。

6. 使用CodeWhisperer

目前CodeWhisperer有三大功能,分别是代码建议生成、引用跟踪器、安全扫描。具体功能如下:

6.1.1 代码建议生成:CodeWhisperer可以根据开发人员用自然语言编写的注释和集成式开发环境(IDE)中的代码生成代码建议,帮助开发人员提高工作效率。CodeWhisperer经过数十亿行代码的训练,可以实时生成从代码片段到全函数的代码建议,绕过耗时的编码任务,加速使用不熟悉的API进行的构建。CodeWhisperer支持15种编程语言,包括Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell脚本、SQL和Scala,以及主流的IDE开发工具,包括VS Code、IntelliJ IDEA和Amazon Cloud9。

6.1.2 引用跟踪器:CodeWhisperer提供内置的引用跟踪器,用于检测代码建议是否可能与开源训练数据相似,并可以标记此类建议。引用跟踪器可以扫描您的代码以检测难以发现的漏洞,并获取代码建议以立即修复这些漏洞。

6.1.3 安全扫描:CodeWhisperer还提供安全扫描(适用于Java和Python),旨在帮助开发人员检测项目漏洞并负责任地构建应用程序。CodeWhisperer是唯一一个具有安全扫描功能的AI编码助手,可以发现难以检测的漏洞并提出修复建议,扫描生成的代码和开发人员编写的代码,寻找漏洞。

我目前主要用的是第一个功能,就是代码建议生成。这个功能又有两种玩法,一个是补全现有代码、还有一个是根据提示注释创建整个函数,我详细介绍下这个功能的使用。

6.2.1 在codespace中打开一个类,写出注释。可以看到右下角的CodeWhisperer图标前面有一个圈,表示正在生成代码中。

6.2.2 代码生成完毕,会出现CodeWhisperer已经生成的代码,此时可以按下Tab键确认代码。也可以通过选择向右箭头键,查看其他建议。要查看之前的建议,选择向左箭头键。要拒绝建议,选择 ESC 或退格/删除键

使用上比较容易上手,关键是还能支持中文。虽然有时会卡顿,但可以手动启动。我是macOS,可按 Option + C,从而手动触发 CodeWhisperer。

今天是1024程序员节,一个好用的代码助手,可能是拯救程序员熬夜加班的最好礼物了!

更新时间 2024-01-16