智能化时代前端开发使用Amazon CodeWhisperer在vscode中编写代码

news2025/1/21 0:48:46

目录

一、概述

1.Amazon CodeWhisperer使用您的 AI 编码配套应用程序更快、更安全地构建应用程序。

2.CodeWhisperer 经过数十亿行代码的训练,可以根据您的评论和现有代码实时生成从代码片段到全函数的代码建议。绕过耗时的编码任务,加速使用不熟悉的 API 进行的构建。

3.CodeWhisperer 可以标记或筛选类似于开源训练数据的代码建议。获取相关开源项目的存储库 URL 和许可证,以便您可以更轻松地查看它们并添加归因。

4.扫描您的代码以检测难以发现的漏洞,并获取代码建议以立即修复这些漏洞。遵循跟踪安全漏洞的最佳实践,例如开放全球应用程序安全项目 (OWASP) 概述的漏洞,或者不符合加密库最佳实践及其他类似安全最佳实践的漏洞。

5.从 15 种编程语言中进行选择,包括 Python、Java 和 JavaScript,以及您最喜欢的集成式开发环境(IDE),包括 VS Code、IntelliJ IDEA、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio。

二、功能

1.为您量身定制的实时代码建议

2.支持热门编程语言和 IDE

3.经过优化,可与 AWS 服务配合使用

4.内置安全扫描

5.负责任地编写代码:开源代码的引用跟踪器

6.负责任地编写代码:避免偏见

7.企业管理

三、费用方面

四、在vscode中安装使用CodeWhisperer

第一步:在 IDE 集成开发环境中安装 Amazon ToolKit

1.在VScode扩展插件中搜索AWS Toolkit,点击安装。

2.安装完成就能在VScode中看到安装的插件。

第二步:打开 ToolKit,随后点击 CodeWhisperer 下的 “Start” 按钮。我这个是安装过的,第一次或者重新认证的是显示的start.

第三步、登录Builder ID。

五、如何使用 CodeWhisperer

1.开启 CodeWhisperer 服务后即可在编码时得到相应的代码建议:

2.安全扫描

六、常见问题

1.什么是AWS CodeWhisperer?

2.CodeWhisperer支持哪些语言?

3.CodeWhisperer如何获得最佳效果?

七、总结


一、概述

官网地址:AI 代码生成器 - Amazon CodeWhisperer - AWS

1.Amazon CodeWhisperer使用您的 AI 编码配套应用程序更快、更安全地构建应用程序。

2.CodeWhisperer 经过数十亿行代码的训练,可以根据您的评论和现有代码实时生成从代码片段到全函数的代码建议。绕过耗时的编码任务,加速使用不熟悉的 API 进行的构建。

3.CodeWhisperer 可以标记或筛选类似于开源训练数据的代码建议。获取相关开源项目的存储库 URL 和许可证,以便您可以更轻松地查看它们并添加归因。

4.扫描您的代码以检测难以发现的漏洞,并获取代码建议以立即修复这些漏洞。遵循跟踪安全漏洞的最佳实践,例如开放全球应用程序安全项目 (OWASP) 概述的漏洞,或者不符合加密库最佳实践及其他类似安全最佳实践的漏洞。

5.从 15 种编程语言中进行选择,包括 Python、Java 和 JavaScript,以及您最喜欢的集成式开发环境(IDE),包括 VS Code、IntelliJ IDEA、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio。

二、功能

1.为您量身定制的实时代码建议

Amazon CodeWhisperer 经过数十亿行 Amazon 和公开可用代码的训练,可以理解用自然语言(英语)编写的评论,可以实时生成多个代码建议以提高开发人员的工作效率。该服务直接在集成式开发环境(IDE)代码编辑器中为完整的函数和逻辑代码块(通常由多达 10–15 行代码组成)提供建议。生成的代码与您编写代码的方式类似,符合您的风格和命名规则。您可以快速接受排在首位的建议(Tab 键)、查看更多建议(箭头键)或继续编写自己的代码。在接受代码建议之前,请务必对其进行审查,并且可能需要对其进行编辑以确保完全符合您的预期。键入时,CodeWhisperer 甚至会自行提供完成注释的建议。

2.支持热门编程语言和 IDE

Amazon CodeWhisperer 为多种编程语言提供基于人工智能(AI)的代码建议,包括 Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL 和 Scala。您可以使用来自多个 IDE 的服务,包括 JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm 和 Rider)、Visual Studio(VS)Code、AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio。

3.经过优化,可与 AWS 服务配合使用

CodeWhisperer 通过提供针对 AWS API 进行优化的代码建议,让开发人员更高效地使用 AWS 服务,包括 Amazon Elastic Compute Cloud(Amazon EC2)、AWS Lambda 和 Amazon Simple Storage Service(Amazon S3)。当您在 IDE 中编写代码时,CodeWhisperer 会自动分析您的代码和注释。CodeWhisperer 建议使用相关的云服务和公共软件库来实现所需的功能,然后推荐符合 AWS 最佳实践的代码片段。

4.内置安全扫描

使用 CodeWhisperer,您可以扫描 Java、JavaScript 和 Python 项目以检测难以发现的漏洞,例如开放全球应用程序安全项目(OWASP)中排名前十的漏洞,或者不符合加密库最佳实践及其他类似安全最佳实践的漏洞。该服务分析 IDE 中的现有代码(无论是由 CodeWhisperer 生成还是由您编写),高度精确地识别有问题的代码,并对如何修复代码提供明智的建议。

5.负责任地编写代码:开源代码的引用跟踪器

CodeWhisperer 提供内置的引用跟踪器,用于检测代码建议是否可能与开源训练数据相似,并可以标记此类建议。这些建议用开源项目的存储库 URL、文件引用和许可证信息进行注释,因此您可以在决定是否采用建议的代码之前进行查看。您使用的所有已标记的建议都会被记录下来,以便您可以稍后查看并自行决定添加许可证归属。您也可以选择滤除 CodeWhisperer 认为与开源代码相似的所有代码建议。

6.负责任地编写代码:避免偏见

负责任地使用人工智能和机器学习(ML)技术是促进持续创新的关键。CodeWhisperer 帮助开发人员滤除可能被视为有偏见和不公平的代码建议,从而避免偏见。

7.企业管理

使用与 AWS IAM Identity Center 集成的单点登录(SSO)为用户或组提供对 CodeWhisperer 的访问权限。管理集团范围的策略,例如添加包含引用代码的建议。

三、费用方面

Amazon CodeWhisperer 直接在集成式开发环境 (IDE) 中为开发人员提供实时代码建议。个人开发人员可以免费使用 CodeWhisperer。组织为使用 CodeWhisperer 按“每位用户每月”支付固定的订阅费,无需预付费用或长期承诺。

四、在vscode中安装使用CodeWhisperer

第一步:在 IDE 集成开发环境中安装 Amazon ToolKit

在 IDE 集成开发环境中安装或更新 Amazon ToolKit 为最新版。支持的IDE集成开发环境包括 Visual Studio Code 以及 JetBrains IDE (IntelliJ IDEA, PyCharm, CLion, GoLand, WebStorm, Rider, PhpStorm, RubyMine, DataGrip) 。本文以 Visual Studio Code 为例进行安装和示范。

1.在VScode扩展插件中搜索AWS Toolkit,点击安装。

2.安装完成就能在VScode中看到安装的插件。

第二步:打开 ToolKit,随后点击 CodeWhisperer 下的 “Start” 按钮。我这个是安装过的,第一次或者重新认证的是显示的start.

第三步、登录Builder ID。

在弹出窗口中,选择“使用个人邮箱注册并登录 Builder ID”,点击右下角 Connect。

在登录时您将看到带有验证码的弹窗。请点击 “打开并复制验证码”,并使用验证码进行验证。

随后将跳转至登录注册页面。如果为首次使用,请用您的电子邮箱进行注册。注册和登录完毕后即可开始使用 CodeWhisperer。

这个直接从这个扩展窗口跳转到外部浏览器复制粘贴即可,不要想的太难,就是一个 Builder ID登录绑定过程。我刚开始还把AWS所有的注册登录窗口登录注册了一遍,发现没必要,也是老用户了。界面如图就表示已经链接成功了,然后就可以快乐的玩耍了。

五、如何使用 CodeWhisperer

1.开启 CodeWhisperer 服务后即可在编码时得到相应的代码建议:

  • 将光标放在一行代码或者代码注释的最后,通过回车键获取代码建议;或者在 Mac 中通过 “Option + C”,在 Windows 中通过 “Alt + C” 获取
  • 如果给到多个代码建议,可以通过方向键 “→” 和 “←” 进行切换查看
  • 使用 “Tab” 键接受代码建议
  • 使用 “Esc” 键或者通过敲入字符忽略代码建议

如在下图中,通过注释 # Get an item from DynamoDB table 写明函数所需做的工作为从DynamoDB表中获取数据。那么 CodeWhisperer 则会实时的给出所需的代码建议。如果给到多个代码建议,可以通过方向键 “→” 和 “←” 进行切换查看。如果选择接受某一条代码建议则可按 “Tab” 键进行接受。

新建一个js文件,写一个注释,使用快捷键 Alt + C 获取代码,这个比较快就几秒钟,然后使用快捷键Tab使用代码。发现效果还可以,比我手写的快一点。

这个经过我测试,一般这个只支持.js、.java、.py这种后缀格式的文件,一般.html或聊天对话它就不行了。

2.安全扫描

双击 CodeWhisperer 下的“运行安全扫描”即可开始对代码进行安全漏洞扫描。安全扫描完毕后,您可参考 IDE 中的扫描结果对代码进行修改。

直接把我现在这个项目扫出来两个漏洞,都是常见的问题,定位非常准确,点击问题里面的错误描述就能直接定位漏洞的位置。这个对于互联网公司来说那是相当的nice!

六、常见问题

1.什么是AWS CodeWhisperer?

CodeWhisperer 是一款 AI 编码伴侣,可在您的集成式开发环境(IDE)中生成实时单行或全函数代码建议,以帮助您快速构建软件。使用 CodeWhisperer,您可以用自然语言编写注释,用英语概述特定任务,例如“Upload a file with server-side encryption”。 基于这些信息,CodeWhisperer 直接在 IDE 中推荐一个或多个可以完成任务的代码片段。您可以快速轻松地接受排在首位的建议(Tab 键)、查看更多建议(箭头键)或继续编写自己的代码。在接受代码建议之前,您应该务必对其进行审查,并且可能需要对其进行编辑以确保完全符合您的预期。

2.CodeWhisperer支持哪些语言?

目前支持 Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL 和 Scala。除了 VS Code 和 JetBrains 系列 IDE(包括 IntelliJ、PyCharm、GoLand、CLion、PhpStorm、RubyMine、Rider、WebStorm 和 DataGrip)之外,CodeWhisperer 还可在 AWS Cloud9、AWS Lambda 控制台、JupyterLab 和 Amazon SageMaker Studio 上使用。

3.CodeWhisperer如何获得最佳效果?

开发人员注释简短且映射到较小的离散任务以使单个函数或代码块不会太长时,CodeWhisperer 工作效率最高。同样,开发人员为各种代码元素(例如,函数名称)使用直观名称时,CodeWhisperer 可以生成有用的代码建议。可用作环境上下文的代码越多,建议就越好。

七、总结

Amazon CodeWhisperer 提高开发人员生产力、代码质量和加快工作负载生产。通过使用 Amazon CodeWhisperer,开发人员能够将快速的完成项目,这有助于在重复性任务中保持持续性。能代码提示,能安全扫描。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/996941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自学开发之旅】Flask-数据查询-数据序列化-数据库关系(四)

db.session ProductInfo.query filter() 灵活查询 filter_by() limit() 限制输出条目 offset() 偏移量 order_by() 排序 group_by() 分组聚合 <模型类>.query.<过滤方法> 过滤方法 查询方法 “牛”字开头且&#xff08;“,”默认&#xff09;价格大于5的 &g…

JS判断当前是早上,中午,下午还是晚上

<!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><div></div><script>function getTimeState() {// 获取当前时间let timeNow new Date();// 获取当前小时let…

Pytest系列-fixture的详细使用和结合conftest.py的详细使用(3)

介绍 前面一篇讲了setup、teardown可以实现在执行用例前或结束后加入一些操作&#xff0c;但这种都是针对整个脚本全局生效的。 Fixture是pytest的非常核心功能之一&#xff0c;在不改变被装饰函数的前提下对函数进行功能增强&#xff0c;经常用于自定义测试用例前置和后置工作…

【C++】string类模拟实现上篇(附完整源码)

目录 前言1. string的基本结构2. 构造函数、析构函数2.1 构造函数的实现2.1.1带参构造函数 2.2析构函数2.3无参构造函数2.4无参和带参构造函数合并 3. string的遍历3.1 operator[ ]3.2迭代器模拟实现 (简单实现&#xff09;3.3 const迭代器模拟实现 4. 数据的增删查改4.1 reser…

最经典的解析LSA数据库(第六课)

初步认识OSPF的大致内容(第三课)_IHOPEDREAM的博客-CSDN博客 1 OSPF 工作过程 建立领居表 同步数据库 今天来 说一说数据库概念 计算路由表 2 什么是数据库&#xff1f; 数据库是一个组织化的数据集合&#xff0c;用于存储、管理和检索数据。它是一个可访问的集合&#x…

[SICTF 2023 #Round2] Crypto,PWN,Reverse

似乎很久没写了。 周五到周日&#xff0c;两天的这个比赛&#xff0c;有些东西还真是头回用&#xff0c;值得纪录一下。 Crypto 密码这块这届还是比较简单的&#xff0c;没有复杂的题&#xff0c;但量大分多。 【签到】古典大杂烩 给了一堆emoji的图 &#x1f429;&#x…

英国私校的艺术奖学金有哪些?申请要求和申请流程详解!

众所周知&#xff0c;英国私校不仅学术拔尖&#xff0c;在对学生艺术方面的培养也是毫不逊色的。几乎打开每一所英国私校的官网&#xff0c;都可以看到学校罗列的提供的各类课外艺术活动的精彩照片。      每个英国私校除了课后开设的五花八门的兴趣课外&#xff0c;还有各…

【项目 计网12】4.32UDP通信实现 4.33广播 4.34组播 4.35本地套接字通信

文章目录 4.32UDP通信实现udp_client.cudp_server.c 4.33广播bro_server.cbro_client.c 4.34组播multi_server.cmulti_client.c 4.35本地套接字通信ipc_server.cipc_client.c 4.32UDP通信实现 udp_client.c #include <stdio.h> #include <stdlib.h> #include <…

2023-09-10 LeetCode每日一题(课程表 II)

2023-09-10每日一题 一、题目编号 210. 课程表 II二、题目链接 点击跳转到题目位置 三、题目描述 现在你总共有 numCourses 门课需要选&#xff0c;记为 0 到 numCourses - 1。给你一个数组 prerequisites &#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示在…

hive葵花宝典:hive函数大全

文章目录 版权声明函数1 函数分类2 查看函数列表3 数学函数取整函数: round指定精度取整函数: round向下取整函数: floor向上取整函数: ceil取随机数函数: rand幂运算函数: pow绝对值函数: abs 4 字符串函数字符串长度函数&#xff1a;length字符串反转函数&#xff1a;reverse…

表情识别-情感分析-人脸识别(代码+教程)

表情识别 面部情绪识别&#xff08;FER&#xff09;是指根据面部表情识别和分类人类情绪的过程。通过分析面部特征和模式&#xff0c;机器可以对一个人的情绪状态作出有根据的推断。这个面部识别的子领域高度跨学科&#xff0c;涉及计算机视觉、机器学习和心理学等领域的知识。…

解析Spring Boot中的Profile:配置文件与代码的双重掌控

目录 创建一个spring boot 项目spring boot 中的配置体系配置文件与 Profile代码控制与Profile 创建一个spring boot 项目 基于 Spring Boot 创建 Web 应用程序的方法有很多,我们选择在idea中直接进行创建&#xff0c;服务器URL选择Spring Initializer 网站&#xff0c;类型选…

libnetcdf.so.19: cannot open shared object file: No such file or directory

Linux编译程序时出现问题 在linux系统上&#xff0c;编译一个工具包后&#xff0c;在运行该工具包时&#xff0c;出现以下报错&#xff1a; libnetcdf.so.19: cannot open shared object file: No such file or directory仔细分析报错信息可以发现&#xff1a;在运行该工具包…

UG\NX二次开发 判断向量在指定的公差内是否为零,判断是否是零向量 UF_VEC3_is_zero

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: UG\NX二次开发 判断向量在指定的公差内是否为零,判断是否是零向量 UF_VEC3_is_zero 效果: 代码: #include "me.hpp"void ufusr(char* param, int* retco…

Pytorch实现基于LSTM的情感分析

文章目录 本文参考导入必要的包介绍torchnet做数据的导入给必要的参数命名加载文本数据数据前处理模型训练验证 本文参考 PyTorch深度学习项目实战100例 https://weibaohang.blog.csdn.net/article/details/127154284?spm1001.2014.3001.5501 这段代码是一个基于PyTorch实现…

LeetCode(力扣)37. 解数独Python

LeetCode37. 解数独 题目链接代码 题目链接 https://leetcode.cn/problems/sudoku-solver/description/ 代码 class Solution:def solveSudoku(self, board: List[List[str]]) -> None:"""Do not return anything, modify board in-place instead."…

使用数据库表快速生成代码

这里使用的EasyCode插件&#xff0c;直接下载即可&#xff0c;这里需要有数据库的技术与使用idea&#xff0c;会使用起来更流畅&#xff01; 使用idea连接数据库 右键选择表 勾选你所需要的添加&#xff0c; 鄙人一般除了debug&#xff0c;其他都会勾选上 点击确定&#xff0c;…

【电源专题】不合理接地引发的典型问题及地环路隔离的方法

在文章:【电源专题】接地的类型 中我们讲到因为历史的原因接地在不同时期的概念是不同的。到了如今大规模的集成电路时代,在单板中接地其实是想要一个参考电位,一个等势点。 但是理想终究是理想,在现实接地中,往往因为接地平面的阻抗不是0,而电源电流过大、信号频率过高…

目标检测笔记(十五): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

文章目录 一、目标检测介绍二、YOLOX介绍三、源码获取四、环境搭建4.1 环境检测 五、数据集准备六、模型训练七、模型验证八、模型测试 一、目标检测介绍 目标检测&#xff08;Object Detection&#xff09;是计算机视觉领域的一项重要技术&#xff0c;旨在识别图像或视频中的…

Linux权限的概念和管理

Linux权限的概念和管理 1. Linux权限的概念2. Linux权限管理2.1 文件访问者的分类&#xff08;人&#xff09;2.2 文件类型和访问权限&#xff08;事物属性&#xff09;2.2.1 文件类型2.2.2 基本权限 2.3 文件权限值的表示方法2.4文件访问权限的相关设置方法1. chmod&#xff0…