一款超级棒的AI 编码神器

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。

CodeWhisperer_1.jpg

安装完后,选中左边栏的“AWS”,点击“Start”->“Sign up Or Sign in”,开始注册或者登录 AWS Builder ID。

CodeWhisperer_2.jpg

本人临时注册的,输入邮箱地址后,点击“Next”,之后邮箱会收到一个验证码。

CodeWhisperer_3.jpg

输入六位验证码,校验后,输入密码及确认密码。

CodeWhisperer_4.jpg

输入完密码后,点击“Create AWS Builder ID”。

CodeWhisperer_5.jpg

最后点击允许访问即可。

CodeWhisperer_6.jpg

接着 VS Code会显示“Connected to AWS Builder ID”,可愉快地使用啦。

CodeWhisperer_7.jpg

使用

随意创建了一个文件,写了一个“#”,它便推断出了我要写 Python 代码。

CodeWhisperer_8.jpg

输完“冒泡排序”,按下回车键,直接生成了函数名。按下“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)

想不想也体验一下呢~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容