### 前言
4月18日,亚马逊云科技宣布,实时 AI 编程助手 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 正式可用,同时推出的还有供所有开发人员免费使用的个人版(CodeWhisperer Individual)。[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是一个通用的、由[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)驱动的代码生成器,可实时为您提供代码建议。在编写代码时,CodeWhisperer 会根据你现有的代码和注释自动生成建议。从单行代码建议到完整的函数,它可为您提供各种大小和范围的个性化建议。同时,CodeWhisperer 还可以扫描您的代码以突出显示和定义安全问题。
CodeWhisperer 能够让开发者保持专注、高效,帮助他们快速、安全地编写代码,无需因离开 IDE 去研究某件事而中断流程。在为复杂且不断变化的环境创建代码时,开发者可以在他们最熟悉的 IDE(包括 Visual Studio Code、IntelliJ IDEA 等)中使用 CodeWhisperer 来提高工作效率并简化工作。
本文旨在介绍一种在 IntelliJ IDEA 中安装 CodeWhisperer 插件的方法供大家参考学习。
### 安装环境
系统版本:macOS 13.3.1
软件版本:IntelliJ IDEA 2023.1.1 (Ultimate Edition)
### 安装CodeWhisperer
3.1 打开 IntelliJ IDEA,点击左侧菜单栏中 “Plugins”。
![image.png](https://dev-media.amazoncloud.cn/8403fa74f1024d19a911b794b6715efe_image.png "image.png")
3.2 在顶部标签栏选择 “Marketplace”,搜索 “Amazon Toolkit” 并点击 “Install” 进行安装。
![image.png](https://dev-media.amazoncloud.cn/ef4c6503aab94a6e8ebde51e8138899d_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/bfede86ad8824e7db166cbe4b1b6ea36_image.png "image.png")
3.3 安装完成后重启 IDEA,在顶部标签栏选择 “Installed”,可以看到 “Amazon Toolkit” 已安装状态。
![image.png](https://dev-media.amazoncloud.cn/3b272e7efbfa471aacb7675492736eb2_image.png "image.png")
### 激活 CodeWhisperer
4.1 打开或创建一个新的 Project,选择顶部菜单中 View/Tool Windows/Amazon Toolkit。
![image.png](https://dev-media.amazoncloud.cn/be8a5c0c116540b897e30b2b4b3ce49e_image.png "image.png")
4.2 选择 “Developer Tools” 标签页,双击 CodeWhisperer 下 “Start”。
![image.png](https://dev-media.amazoncloud.cn/5e86fe5eca434601a479a93c84f132af_image.png "image.png")
4.3 在弹出窗口中选择 “Use a personal email to sign up and sign in with Amazon Builder ID”,并点击 “Connect”。
![image.png](https://dev-media.amazoncloud.cn/cef453d05d5c42a1b61918e08894ebbc_image.png "image.png")
4.4 在弹出窗口中选择 “Open and Copy Code”。
![image.png](https://dev-media.amazoncloud.cn/94bbe7612899449fa22a22673e662ae4_image.png "image.png")
4.5 跳转网页后,在 Code 栏中粘贴代码信息(直接使用“粘贴”指令,或将上一步中代码手动输入)后,点击 “Next”。
![image.png](https://dev-media.amazoncloud.cn/619cf96eb7de4e35a7a143b70d4ab72f_image.png "image.png")
4.6 如之前已创建过 Amazon Builder ID,可选择 “Already have Amazon Builder ID?Sign in” 并登陆;如之前未创建过 Amazon Builder ID,可输入新的邮箱进行创建,输入邮箱地址,点击 “Next”。(本文以创建新 Amazon Builder ID 进行后续操作说明)
![image.png](https://dev-media.amazoncloud.cn/0246bb74381a495b91af491ae58a4bf6_image.png "image.png")
4.7 输⼊自定义名称,点击 “Next”,CodeWhisperer 会向邮箱中发送⼀个验证码。
![image.png](https://dev-media.amazoncloud.cn/28ce608bc36c424f887be1e145e0a79b_image.png "image.png")
4.8 打开邮箱,可以看到验证码,复制验证码,粘贴到网页输入框,点击 “Verify” 按钮。
![image.png](https://dev-media.amazoncloud.cn/49ecd7fc080e4308b0c43754406993f4_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/aa0cc9f69e464bb896823af7da86dd83_image.png "image.png")
4.9 设置密码,点击 “Create Amazon Builder ID”。
![image.png](https://dev-media.amazoncloud.cn/6a017e1b80644beab4e16beeecabbfba_image.png "image.png")
4.10 点击页面 “Allow”。
![image.png](https://dev-media.amazoncloud.cn/947bfe94e6fb49c598ce15b9df022ffe_image.png "image.png")
4.11 出现如下提示后,即表示 CodeWhisperer 已激活并可在 IDEA 中使用。
![image.png](https://dev-media.amazoncloud.cn/0e0fc716f2fd40fa9194a5d080c028c6_image.png "image.png")
4.12 返回 IDEA,在 Amazon Toolkit 视图中的 Developer Tools 中可以打开或关闭代码⽣成功能。
![image.png](https://dev-media.amazoncloud.cn/1616a13647b8438db2f1bda83d7a70b4_image.png "image.png")
### 使用 CodeWhisperer 生成代码
5.1 在 IDE 中编写代码或注释时,可以得到 CodeWhisperer 的实时建议。例如,编写选择序列的注释
![image.png](https://dev-media.amazoncloud.cn/0813093c7e2844928cd81a46edff0c07_image.png "image.png")
5.2 代码⽣成完毕,会出现如下界⾯。
![image.png](https://dev-media.amazoncloud.cn/c7b4a598a69c4c7594e735f9d5d2adeb_image.png "image.png")
5.3 可以点击 “Previous” 或 “Next” 切换不同的代码;点击 “Insert Code” 或 TAB 键确认代码。
![image.png](https://dev-media.amazoncloud.cn/13b188fb0f604a33921b69cbe140e6ae_image.png "image.png")
5.4 生成函数名以后,还可以生成函数体,如下图。
![image.png](https://dev-media.amazoncloud.cn/9e617533dabe4cdebc04f844274d8f95_image.png "image.png")
### 后记
整体来看,CodeWhisperer 能够帮助开发者承担繁重的同质化工作,帮助检查代码安全,注释写的越精确,⽣成的代码质量越好。当然,CodeWhisperer ⽣成的代码并不总是正确或最优,需要视情况进⾏修改或优化。