当前位置: 首页 > news >正文

【DevChat】智能编程助手 - 使用评测

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

【DevChat】智能编程助手 - 使用评测

本文关键字:DevChat、大模型、智能助手、VS插件

文章目录

  • 【DevChat】智能编程助手 - 使用评测
    • 一、DevChat
      • 1. 产品介绍
      • 2. 免费额度
      • 3. 使用步骤
    • 二、使用评测
      • 1. 概念解释评测
      • 2. 编程语法评测
      • 3. 解决方案评测
      • 4. 错误修改评测
      • 5. 连续对话评测
    • 三、结语

一、DevChat

1. 产品介绍

  • 官网链接:https://meri.co/jwv

DevChat是一款可以直接在VSCode中使用的插件,并且第一次注册还有免费使用额度,重要的是支持GPT-4。而且从价格方面来说可以说是十分便宜,毕竟正版ChatGPT每个月要20美刀。

对于会话交互助手来说还是十分超值的,毕竟除了编程时使用,也可以用在其他方面。

2. 免费额度

第一次使用时可以使用邮箱注册,会赠送0.3美元左右的额度,再绑定微信还会额外赠送1美元左右:

购买的方式是按量付费,不会过期,很适合在国内的小伙伴使用。

3. 使用步骤

  • 用户注册


输入昵称和邮箱后,点击注册,邮箱会收到一个验证码:

建议大家登录一次账户,领取微信绑定额度。

  • 插件安装

可以在官网点击VS Code下载直接安装:

点击Install -> Continue,然后按浏览器提示打开VSCode:

点击Install,等待安装完成:

  • API Key设置

从第一封邮件中可以看到配置的步骤:

Press ⇧⌘P / Ctrl+Shift+P or F1 in Visual Studio Code to open the Command Palette. Next, type “devchat access key” and enter the above access key. Don’t forget to install Python 3.8+ and Git to use DevChat.

首先使用快捷键打开指令窗口,然后输入devchat access key【需要已经安装Python 3.8以上版本和Git】:

  • 切换模型

配置完成后可以看到DevChat图标【可以拖动到右侧方便使用】,每次点击右下角开启:

点击模型列表可以切换到自己需要的模型:

二、使用评测

从小编自己的使用经验来说,在编程方面一般会涉及到以下问题:

  • 概念解释类问题,包括新技术、软件使用场景及用法
  • 编程语法类问题,使用某种语言实现特定的功能
  • 解决方案类问题,通过描述某个应用场景,进行架构设计或给出解决方案
  • 错误修改类问题,根据报错信息或错误代码给出修复版本
  • 连续对话类问题,对于上下文理解与联系的认知表现

1. 概念解释评测

对于一个全新的技术,我们通常要花比较长的时间来查阅资料。但大部分情况下都是时间紧任务重,我们可以直接通过Chat助手来快速了解。

  • 问题

如果我想进行React开发,需要准备哪些环境配置,基本的项目结构应该如何设计,考虑以后功能模块的扩展,还有哪些需要注意的问题。

  • 结果



2. 编程语法评测

对于基本的经典编程类问题,相信已经不需要再测试了,我们直接来测试一下实际开发中有可能会遇到的实际任务。

  • 问题

使用Java的SpringBoot框架实现REST风格的服务端接口,以Blog实体类为例,有基本的ID、title、content等属性,给出增删改查调用的例子。

  • 结果


@RestController
@RequestMapping("/api/blogs")
public class BlogController {@AutowiredBlogRepository blogRepository;@GetMappingpublic Iterable<Blog> getAllBlogs() {return blogRepository.findAll();}@PostMappingpublic Blog createBlog(@RequestBody Blog blog) {return blogRepository.save(blog);}@GetMapping("/{id}")public Blog getBlog(@PathVariable Integer id) {return blogRepository.findById(id).orElseThrow(RuntimeException::new);}@PutMapping("/{id}")public Blog updateBlog(@PathVariable Integer id, @RequestBody Blog updatedBlog) {return blogRepository.findById(id).map(blog -> {blog.setTitle(updatedBlog.getTitle());blog.setContent(updatedBlog.getContent());return blogRepository.save(blog);}).orElseThrow(RuntimeException::new);}@DeleteMapping("/{id}")public void deleteBlog(@PathVariable Integer id) {if (blogRepository.existsById(id)){blogRepository.deleteById(id);} else {throw new RuntimeException();}}
}


3. 解决方案评测

对于一些较为负责的场景,可能会需要用到多个组件或框架,并且可以有多种选择,此时我们可以描述应用场景,来参考可行的解决方案。

  • 问题

如果我想处理存放在Kafka中的数据,结构为json,进行实时数据的计算,刷新频率为30秒或分钟级,进行对某个属性的统计分析,将结果持久化保存,最后可视化的方式显示,有哪些解决方案,会用到哪些组件,给出两个以上可行的方案。

  • 结果

4. 错误修改评测

错误和Bug修改在编程中很常见,一般经过脱敏处理之后可以把整段代码丢进去,或者也可以将半成品完善成完整功能。用一段错误代码,并且不指出错误的情况下看看表现如何。

  • 问题

public class Main {
public static long fibonacci(int n) {
return fibonacci(n - 1) + fibonacci(n - 2);
}

public static void main(String[] args) {int n = 10;System.out.println(fibonacci(n));
}

}

代码执行与预期不符。

  • 结果

5. 连续对话评测

很多时候需要多轮对话才能解决问题,所以对于上下文的理解十分重要。当然,这也需要我们做出一些有效的问题提示,进行把问题描述清楚,并且尽量控制对话中不要出现不相关的问题,通常都可以起到不错的结果。

  • 问题
    • 使用Python实现二分查找
    • 这个算法的时间复杂度和空间复杂度是怎么计算的?
  • 结果


三、结语

由于小编在国外,所以一直可以正常使用ChatGPT,在测评的过程中也同样对比了相同问题在ChatGPT下的表现,可以说是基本一致,并且在定价方面感觉十分的实惠,在国内使用的小伙伴真的可以亲自多体验一下。这个工具从发布以来也持续更新了半年,各个方面都在不断的优化,确实可以多关注一下!

相关文章:

【DevChat】智能编程助手 - 使用评测

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…...

Geek challenge 2023 EzHttp

打开链接需要使用post请求提交username和password 查看源码得到提示&#xff0c;爬虫想到robots协议 访问robots.txt 访问得到的路径&#xff1a;/o2takuXXs_username_and_password.txt 拿到用户名和密码&#xff1a; username:admin password:dm1N123456r00t# 进行post传参…...

matlabR2021a正版免费使用

目录 matlab介绍&#xff1a; 安装&#xff1a; matlab介绍&#xff1a; MATLAB&#xff08;Matrix Laboratory的缩写&#xff09;是一种高级技术计算和编程环境&#xff0c;由MathWorks公司开发。它在科学、工程、数据分析和数学建模领域中广泛应用&#xff0c;为用户提供了…...

天气数据可视化平台-计算机毕业设计vue

天气变幻无常&#xff0c;影响着我们生活的方方面面&#xff0c;应用天气预报信息可以及时了解天气的趋势&#xff0c;给人们的工作、生活等带来便利&#xff0c;也可以为我们为未来的事情做安排和打算&#xff0c;所以一个精准的、易读 通过利用 程序对气象网站大量的气象信息…...

揭秘Java switch语句中的case穿透现象

揭秘Java switch语句中的case穿透现象 1. switch 语句简介2. case穿透现象的原因关于 goto 3. switch和if的区别4. 总结 导语&#xff1a;在 Java 开发中&#xff0c;我们经常使用switch语句来进行条件判断和分支选择。然而&#xff0c;有一个令人困惑的现象就是&#xff0c;当…...

Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134106510 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…...

C语言 每日一题 PTA 10.29 day7

1.特殊a串数列求和 给定两个均不超过9的正整数a和n&#xff0c;要求编写程序求a aa aaa⋯ aa⋯a&#xff08;n个a&#xff09;之和。 输入格式&#xff1a; 输入在一行中给出不超过9的正整数a和n。 输出格式&#xff1a; 在一行中按照“s 对应的和”的格式输出。 思路 n…...

持续集成部署-k8s-服务发现-Ingress 路径匹配与虚拟主机匹配

持续集成部署-k8s-服务发现-Ingress 路径匹配与虚拟主机匹配 1. 安装 Ingress-Nginx2. 创建要代理的 Service3. 创建一个新的 Ingress-Nginx1. 安装 Ingress-Nginx 要使用 Ingress-Nginx 首先第一步是需要先安装它,安装的步骤可以参考:持续集成部署-k8s-服务发现-Ingress 2…...

selenium工作原理和反爬分析

一、 Selenium Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一&#xff0c;支持并行测试执行。Selenium通过使用特定于每种语言的驱动程序支持各种编程语言。Selenium支持的语言包括C#&#xff0c;Java&#xff0c;Perl&#xff0c;PHP&#xff0c;Python和Ru…...

windows电脑安装系统后固态硬盘和机械硬盘的盘符号顺序显示错乱,解决方法

一、场景 由于电脑磁盘是SSD固态硬盘自己拓展的1T机械硬盘组成&#xff0c;固态硬盘分为C、D两个盘区&#xff0c;机械硬盘分为E、F两个盘区。为了提升运行速度&#xff0c;系统安装在C盘&#xff0c;安装完成后按照习惯盘区顺应该为C、D、E、F&#xff0c;但实际情况却是D、E…...

自定义控件的子控件布局(onLayout()方法)

onLayout()方法用于指定布局中子控件的位置&#xff0c;该方法通常在自定义的ViewGroup容器中重写。 重写onLayout()方法中的常用方法&#xff1a; getChildCount() 获取子控件数量 getChildAt( int index ) 获取指定index的子控件&#xff0c;返回View view.getVisibilit…...

vscode提取扩展出错xhr

在 Visual Studio Code (VSCode) 中提取扩展出现 XHR 错误通常意味着在下载扩展或进行扩展管理操作时出现了网络请求问题。XHR (XMLHttpRequest) 是一种用于在浏览器中进行 HTTP 请求的技术&#xff0c;通常用于获取数据或资源。在 VSCode 中&#xff0c;它也可用于管理扩展的下…...

Docker 笔记(上篇)

Docker 概述 Docker 概念 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之…...

python自动化测试(六):唯品会商品搜索-练习

目录 一、配置代码 二、操作 2.1 输入框“运动鞋” 2.2 点击搜索按钮 2.3 选择品牌 2.4 选择主款 2.5 适用性别 2.6 选择尺码 2.7 选择商品&#xff1a;&#xff08;通过css的属性去匹配&#xff09; 2.8 点击配送地址选项框 一、配置代码 # codingutf-8 from selen…...

深度强化学习用于博弈类游戏-基础测试与说明【1】

深度强化学习用于博弈类游戏-基础【1】 1. 强化学习方法2. 强化学习在LOL中的应⽤2.1 环境搭建2.2 游戏特征元素提取1)小地图人物位置:2)人物血量等信息3)在整个图像上寻找小兵、防御塔的位置4)自编码器提取3. 策略梯度算法简介参考资料1. 强化学习方法 伴随着人工智能的潮起…...

通过requests库使用HTTP编写的爬虫程序

使用Python的requests库可以方便地编写HTTP爬虫程序。以下是一个使用requests库的示例&#xff1a; import requests# 发送HTTP GET请求 response requests.get("http://example.com")# 检查响应状态码 if response.status_code 200:# 获取响应内容html response.…...

550MW发电机变压器组继电保护的整定计算及仿真

摘要 电力系统继电保护设计是根据系统接线图及要求选择保护方式&#xff0c;进行整定计算&#xff0c;电力系统继电保护的设计与配置是否合理直接影响到电力系统的安全运行。如果设计与配置不当&#xff0c;保护将不能正确工作&#xff0c;会扩大事故停电范围&#xff0c;造成…...

Linux 命令|服务器相关

1. 在公共 linux 上创建 python 虚拟环境 【精选】在公共Linux服务器上创建自己的python虚拟环境_服务器创建自己的环境-CSDN博客 2. 查看现存的状态&#xff0c;看有没有程序在跑 nvidia-smi命令详解-CSDN博客 3. 上传本地文件到服务器 在本地 Mac 计算机的终端中&#x…...

node 第十三天 express初见

express概念 Fast, unopinionated, minimalist web framework for Node.js 快速、独立、极简的 Node.js Web 框架。 express相当于前端的jquery, 在不更改不侵入原生node的基础上封装了大量易用且实用的服务端api, express框架的封装原理就是前面第十天我们自己封装的简易服务器…...

Python selenium模块简介

视频版教程&#xff1a;一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 有些网站的数据是js动态渲染的&#xff0c;我们无法通过网页源码直接找到数据&#xff0c;只能通过找接口方式来获取数据&#xff0c;但是很多时候&#xff0c;数据又是json格式的…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...