Devchat插件:AI智能编程助手,让你告别脏活累活。

2023-11-07 02:44

本文主要是介绍Devchat插件:AI智能编程助手,让你告别脏活累活。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 注册
  • 登录
  • DevChat的安装和配置
    • DevChat插件安装
    • DevChat插件配置
  • DevChat的简单使用
  • 后记

在这里插入图片描述

前言

随着人工智能技术的不断发展和普及,它正在深刻影响着各行各业,并逐渐成为改变世界的重要力量。在软件开发领域,人工智能技术也给开发者带来了诸多机遇和挑战。AI智能编程工具的出现,为开发者们提供了一种全新的编程方式,将开发效率提升至新的高度。而Devchat作为一款领先的AI智能编程工具,正以其卓越的性能和稳定的使用体验,迅速赢得了开发者们的青睐。本文将为大家介绍Devchat的功能和优势,帮助更多的开发者提升编程效率,实现更高质量的代码输出。

注册

打开Devchat官网地址:https://www.devchat.ai/,点击页面中的【免费试用】或者【免费体验】按钮,如下图所示:
在这里插入图片描述
然后跳转到注册界面,在此页面中,输入用户名(自定义)、邮箱,完成验证后,点击【Sign Up】。如下图所示:
在这里插入图片描述
注册成功,在右上角会有弹窗提示,提示检查收件邮箱,有发送access key。如下图所示。
在这里插入图片描述
注:笔者这里注册刚开始是使用的Google浏览器,但是发现注册页面显示不出来,然后换到360浏览器才注册成功的。

登录

接着,在登录界面,输入完登录邮箱之后,会收到带有验证码的邮件。输入验证码,点击【Sign In】即可完成登录。至此,DevChat注册完成。

DevChat的安装和配置

DevChat插件安装

  • 安装插件
    打开VSCode扩展,输入devchat,点击安装。如下图所示。
    在这里插入图片描述
    DevChat安装完成。

DevChat插件配置

在这里插入图片描述

  • 设置Access Key
    获得 access key,完整复制粘贴到 VS Code 中,点击左下角【管理(“设置”图标)】→ 【命令面板(Command Palette)】,如下图所示:
    在这里插入图片描述
    在弹出的命令面板中输入“devchat key”,点击如下命令:
    在这里插入图片描述
    输入密钥,敲击【Enter】确认。

DevChat的简单使用

在使用DevChat之前,我在我前面写的博文里面也提到过如何进行关键词的提问,没看过的可以先看一下:

  • 「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」

DevChat可以帮我们做什么?

  1. 技术知识总结
    刚开始接触学习一门技术的时候,难免需要去查看文档。现在的手册非常丰富。往往对于一个初学者来说,需要接触的信息太多、排版五花八门,学起来云里雾里。

这时候就可以借助 DevChat 的总结能力,例如我想学习一下 K8S 的相关知识,我发给它一个文档的地址,让它帮我总结。

prompt: https://kubernetes.io/zh-cn/docs/concepts/overview/ 总结这篇文档。

在这里插入图片描述

  1. 拆解任务
    我们从需求端获取一个需求以后,很多情况下我们的任务并不能够非常准确的估计时,原因就是我们并没有将任务拆分清楚,所以并不能够对每一项任务进行估计,导致风险的发生。这时候可以简要描述一下我们这次的需求点,让 DevChat 帮我们进行任务拆解。

  2. 阅读代码/优化代码
    开发者经常接手别人的代码。质量参差不齐,还会夹在很多奇怪的命名。当我们阅读整体逻辑或者修改逻辑,可能会因为自身阅读的问题造成理解偏差,进一步引发 bug。

如果将这个方法交给 AI 去阅读呢?可以看看效果。

prompt:
逐行解释下面的代码 + 代码内容,
public static void bubbleSort(int[] arr) {int temp;for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}

可以看到 DevChat 正确的理解了我们的代码,对代码进行了解释和说明。

但是这时候只是生成了一个整体的说明,并没有对每一行分别进行解释。这时候继续和它对话:

prompt:
可以在每一行代码上面加上注释,便于我理解吗?

这时候它会逐行的进行代码标注,便于你对每一行进行理解。如果你接着对它提出一个粗浅的优化需求,它也会照做。

prompt: 这段代码可以进行重构和优化吗?逻辑有些繁琐。
  1. 代码生成
    开发者在工作中还有一种场景的工作量比较大,需要复杂的逻辑思考。但是实际上最终的代码可能只需要几行就可以搞定。你在思考过程中觉得很痛苦,想和身边的同事去沟通。也许你给他解释完这个逻辑以后,他非但不能帮你思考,反而将一人份痛苦变成两人份。

例如,我们要进行数据转换,是否也可以交给AI来做?我们发送给 DevChat 这样的 prompt,将数据结构进行转换。数据源为:

[{"candidates": null,"candidatesX": null,"description": "role---用户角色","label": "角色","name": "role","optional": true,"schema": null,"type": "String"},
{"candidates": null,"candidatesX": null,"description": "Topics of the pulsar server to create---需要创建的主题","items": {"schema": [{"candidates": null,"candidatesX": null,"description": "topic name---主题名称","label": "主题名称","name": "name","schema": null,"type": "String"},{"candidates": null,"candidatesX": null,"default": 1,"description": "partition number---分区数","label": "分区数","name": "partitions","schema": null,"type": "Integer","validator": ">0"}],"type": "Object"},"label": "主题列表","name": "topics","optional": true,"schema": null,"type": "List"}]
我想要得到的数据是 type 为 List 的数据,并且数据结构为:
[
{type:List, name:"topics", needValidates:[{name:"name", type:"String"
},{name:"partitions", type:"Integer"}] }]

Devchat会为我们得到正确的结果,我们只需要输入目标数据结构,转换后的数据结构,无需指定语言。因为它会从你的上下文里理解到你是想要问什么实现方式。

还有执行脚本,我们只需要描述清楚我们的需求,它也会帮助我们进行完善。

后记

在AI技术飞速发展的今天,AI智能编程工具的出现为开发者们提供了更为便捷高效的编程方式,大大提升了开发效率和质量。Devchat作为一款全新的智能编程工具,汇集了多家知名大模型,为开发者们提供了全面的编程支持和优化建议,助力开发者快速完成项目开发。在未来,我们相信AI智能编程工具将会成为编程领域内的一股强劲力量,为开发者们带来更多的便利和创新。

转载自:https://blog.csdn.net/u014727709/article/details/134255458
欢迎 👍点赞✍评论⭐收藏,欢迎指正

这篇关于Devchat插件:AI智能编程助手,让你告别脏活累活。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360727

相关文章

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重