
CodeWhisperer
用 CodeWhisperer 在 JetBrains IDE 中生成代码与测试用例
面向 JetBrains IDE 用户的 CodeWhisperer 实操教程:从安装 AWS Toolkit、用 AWS Builder ID 完成个人开发者授权,到用注释和方法签名触发代码建议、在候选建议间切换、接受或拒绝推荐,以及让工具扫描上下文自动生成测试用例。文中给出快捷键对照表与一个从空文件到可运行代码的完整示例,并说明触发时机、建议质量与配额等需要留意的限制。
CodeWhisperer 是一个由机器学习驱动的代码生成工具,它在编辑器里实时给出代码建议:你写注释、写方法签名、写一半的表达式,它都可能补出后续内容。建议的粒度不固定,短则一行注释对应的语句,长则一整个函数体。对于日常在 JetBrains 系列 IDE 里写代码、又希望少敲一些样板逻辑的开发者,它属于上手成本较低的一类辅助工具。个人开发者可以使用免费的个人版,具体价格与配额请以官网当前信息为准。如果你更想先了解这类工具的整体定位,可以看站内的 CodeWhisperer 条目,再回到本文按步骤操作。
本文要教会的事情很具体:在 JetBrains IDE 中装好 AWS Toolkit 插件,用 AWS Builder ID 完成个人开发者授权,然后用注释、方法签名和上下文三种方式触发代码建议,学会在多个候选建议之间切换、接受或拒绝,最后让工具扫描上下文自动生成测试用例。全程只需要键盘,不需要离开编辑器。
准备工作
开始之前,先把下面几件事确认清楚,否则后面会在授权环节卡住。
- 一个 JetBrains IDE:素材以 JetBrains 产品为例演示,IntelliJ IDEA 等基于同一插件体系的 IDE 都可以按同样思路操作。不同 IDE 的菜单文字可能略有差异。
- AWS Toolkit 插件:CodeWhisperer 的能力通过 AWS Toolkit 插件接入 IDE,不装插件就没有入口。
- 一个可用于登录的邮箱:个人开发者方式使用 AWS Builder ID 登录,注册过程需要邮箱接收验证码。
- 可联网的环境:建议由云端服务生成,断网状态下无法获得推荐。
不需要提前准备 AWS 账号,也不需要配置访问密钥。个人开发者走的是 AWS Builder ID 这条独立登录路径,与使用 AWS 控制台的账号体系不是一回事。
操作步骤
第一步:安装 AWS Toolkit 插件
在 IDE 的插件市场里搜索 AWS Toolkit 并安装,安装完成后按提示重启 IDE。插件装好后,IDE 左下角会出现对应的功能图标,这是判断插件是否生效的最直接标志。如果左下角没有出现图标,先确认插件确实已启用,再检查 IDE 是否需要重启。
第二步:用 AWS Builder ID 完成个人开发者授权
插件只是外壳,真正调用生成服务之前必须先登录授权。个人开发者的授权流程如下,顺序不要打乱:
- 从 AWS Toolkit for JetBrains 面板中,选择 Developer Tools 选项卡,打开 Developer Tools 资源管理器。
- 在资源管理器中展开 CodeWhisperer,选择 Start。
- 此时会弹出一个标题为 CodeWhisperer: Add a Connection to AWS 的窗口。
- 在窗口中选择「使用个人电子邮件注册并使用 AWS Builder ID 登录」,然后选择「连接」。
- 随后会打开标题为「使用 AWS 生成器 ID 登录」的页面,选择「打开」并「复制代码」。
- 按页面提示输入邮箱等信息,完成验证。验证通过后即可开始使用代码生成服务。
这一步的关键是「复制代码」这个动作:浏览器与 IDE 之间靠这段代码完成配对,漏掉它就无法把授权结果带回编辑器。授权完成后,CodeWhisperer 的个人版能力就绑定在当前 IDE 上了。
第三步:记住快捷键
CodeWhisperer 的交互几乎全部由键盘完成,先把下面这组操作记熟,后面每一步都会用到。
| 操作 | 快捷键 |
|---|---|
| 手动触发建议 | macOS:Option + C;Windows:Alt + C |
| 接受当前建议 | Tab |
| 切换到下一条建议 | 键盘右方向键 → |
| 回到上一条建议 | 键盘左方向键 ← |
| 拒绝建议 | ESC 或 Backspace |
注意「接受」和「切换」是两件事:方向键只在候选建议之间移动,不会把内容写进文件;只有按 Tab 才会真正插入。很多人第一次使用时误以为方向键选中即生效,结果发现代码没进来,原因就在这里。
第四步:用注释触发代码生成
最省事的触发方式是写一行注释,然后回车。注释可以用中文,例如写下「打印 hello world」,回车后 CodeWhisperer 会给出对应的代码建议。此时用右方向键或左方向键在候选建议之间挑选,确认某条建议符合预期后按 Tab,代码就会被插入到 IDEA 的编辑位置。
这个流程可以反复使用:写注释、看建议、切换、接受。注释写得越具体,建议越贴近你要的结果;只写「处理数据」这类模糊描述,得到的往往是泛泛的骨架。
第五步:用方法签名触发整段实现
除了注释,方法定义本身也是强信号。在 IDEA 中输入方法名,例如 def bubble_sort_function,后续内容就可以由工具自动生成冒泡排序的实现。这类用法适合你已经想清楚函数职责、只是不想手写循环与边界判断的场景。
方法签名触发的好处是上下文明确:函数名、参数、返回类型都在,工具不需要猜太多。写签名时把命名写清楚,比事后修改生成结果更省时间。
第六步:自动生成测试用例
CodeWhisperer 会扫描当前上下文,自动生成与已有代码对应的测试用例。使用方式是先把被测代码放在编辑器里,让上下文完整可见,再触发建议,从候选中挑选测试用例并接受。生成的测试用例同样遵循「方向键切换、Tab 接受、ESC 拒绝」这套操作。
测试用例属于生成结果里比较值得逐条检查的一类:它可能覆盖正常路径,但边界条件、异常输入是否齐全,需要你自己判断。把它当作起点,而不是当作已经完备的测试集。
一个完整示例
下面把前面的步骤串成一个最小可跑通的流程,从空文件开始,到拿到一段可运行的代码和一份测试用例为止。
场景:在一个 Python 文件里实现冒泡排序,并补一份测试。
- 新建一个 Python 文件,确认 IDE 左下角的 AWS Toolkit 图标存在,且 CodeWhisperer 已处于已连接状态。若未连接,回到第二步重新走一遍 AWS Builder ID 授权。
- 在文件顶部写一行注释,描述你要的功能,例如「打印 hello world」,回车。观察是否出现灰色或浅色的建议文本。
- 用右方向键查看下一条建议,用左方向键回到上一条,挑一条最接近预期的。
- 按 Tab 接受。此时注释下方出现实际代码,例如一行打印语句。
- 在文件里继续输入方法签名:
def bubble_sort_function,然后触发建议(macOS 用 Option + C,Windows 用 Alt + C)。等待工具补出函数体。 - 在候选建议之间切换,确认排序逻辑正确后按 Tab 接受。若所有建议都不合适,按 ESC 或 Backspace 拒绝,改写签名或补充注释后重试。
- 把光标放在已完成的函数附近,让上下文完整可见,再次触发建议,等待工具扫描上下文并给出测试用例。
- 接受测试用例,运行它,检查断言是否覆盖了你关心的输入。
整个过程中真正需要动手的只有注释、签名和几次按键。如果某一步没有出现建议,先检查是否已登录、网络是否可用,再尝试手动触发快捷键,而不是反复重写代码。
注意事项
- 建议需要触发条件:CodeWhisperer 依据现有代码和注释生成建议,空文件里凭空等待通常不会有结果。先写注释或签名,再等建议。
- 建议的粒度不固定:可能是一行,也可能是一整个函数。不要因为第一次只补了一行就认为工具能力有限,换个更完整的上下文再试。
- 方向键不等于接受:切换候选建议用左右方向键,写入文件必须按 Tab。拒绝用 ESC 或 Backspace。
- 快捷键分平台:手动触发在 macOS 上是 Option + C,在 Windows 上是 Alt + C,跨平台协作时注意区分。
- 登录方式决定可用能力:个人开发者需要用 AWS Builder ID 登录,才能使用个人版能力。用其他方式连接不一定得到同样的结果。
- 生成结果需要人工复核:尤其是自动生成的测试用例,覆盖范围由工具判断,边界与异常场景要自己补。
- 价格与配额会变:个人版是否免费、有哪些用量限制,属于容易调整的信息,使用前请以官网当前信息为准。
把上面这套流程走顺之后,日常写代码时的典型用法就是:先写清楚意图(注释或签名),让工具给出候选,用方向键挑选,用 Tab 落地,最后自己复核一遍逻辑与测试覆盖。工具负责减少敲键盘的次数,判断仍然由你来做。