AIGC 怎能少了编码呢?今天给大家安利一款编码利器!也许您早已知晓,甚至早就用上了。它就是 Amazon CodeWhisperer 。本人以前用 GitHub 的 Copilot。Copilot 收费后,逐步转到 New Bing 和 ChatGPT 。最近开始使用 CodeWhisperer,表现不比 Copilot 差,最关键的是它对个人用户完全免费!!下面用几分钟简单介绍如何使用这款编码神器。
简介
CodeWhisperer 是亚马逊公司推出的一款 AI 编程工具,它可以根据注释或者代码上下文给出编码提示,实时生成代码片段或者或者完整的函数建议。目前支持Java、JavaScript、Python、C++等15种常见的编程语言,以及常用的集成式开发环境,诸如VS Code、Intelli IDEA等。
安装
本人使用的是 VS Code。下面以此为例介绍 CodeWhisperer的安装及使用。打开VS Code在扩展中直接搜索 “AWS” ,结果列表第一个就是了,即:AWS Toolkit。
安装完后,选中左边栏的“AWS”,点击“Start”->“Sign up Or Sign in”,开始注册或者登录 AWS Builder ID。
本人临时注册的,输入邮箱地址后,点击“Next”,之后邮箱会收到一个验证码。
输入六位验证码,校验后,输入密码及确认密码。
输入完密码后,点击“Create AWS Builder ID”。
最后点击允许访问即可。
接着 VS Code会显示“Connected to AWS Builder ID”,可愉快地使用啦。
使用
随意创建了一个文件,写了一个“#”,它便推断出了我要写 Python 代码。
输完“冒泡排序”,按下回车键,直接生成了函数名。按下“Tab”键,即使用它生成的建议代码。下面代码完全由它生成,我就写了前五个注释,体验还是相当不错的。最后一个例子完全由它建议生成,结合上文“# 实现BFS” 直接给出了建议“# 深层次遍历”。假如,您不喜欢它给出的当前建议,可以按下ESC键。
# 冒泡排序
def bubble_sort(alist):
n = len(alist)
for j in range(n-1):
count = 0
for i in range(n-1-j):
if alist[i] > alist[i+1]:
alist[i], alist[i+1] = alist[i+1], alist[i]
count += 1
if count == 0:
return
# 测试上面代码
if __name__ == "__main__":
li = [54, 26, 93, 17, 77, 31, 44, 55, 20]
bubble_sort(li)
print(li)
# 计算leetcode第一题:两数之和
def two_sum(nums, target):
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return [i, j]
# 测试上面算法
if __name__ == "__main__":
nums = [2, 7, 11, 15]
target = 9
print(two_sum(nums, target))
# 实现BFS
def bfs(graph, start):
queue = [start]
seen = set(start)
while queue:
vertex = queue.pop(0)
nodes = graph[vertex]
for w in nodes:
if w not in seen:
queue.append(w)
seen.add(w)
print(w)
# 深层次遍历
def dfs(graph, start):
stack = [start]
seen = set(start)
while stack:
vertex = stack.pop()
nodes = graph[vertex]
for w in nodes:
if w not in seen:
stack.append(w)
seen.add(w)
print(w)
想不想也体验一下呢~~~