【DevChat】智能编程助手,告别敲代码烦恼,从此爱上AI编程

2023-11-06 02:44

本文主要是介绍【DevChat】智能编程助手,告别敲代码烦恼,从此爱上AI编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🔎官方网站:https://www.devchat.ai/

文章目录

    • 一、DevChat介绍👇
    • 二、DevChat优势🪁
    • 三、DevChat注册流程篇🎀
    • 四、DevChat使用教程篇📢
      • 1. DevChat插件安装配置⚒️
      • 2. 与DevChat问答交流🔣
      • 3. DevChat辅助代码开发🕹️
    • 五、DevChat体验心得🎇
    • 六、参考链接⚙️

一、DevChat介绍👇

DevChat 是一个开源平台,使开发人员能够利用 AI 进行代码生成和文档编制。DevChat 旨在超越简单的代码自动完成和对代码片段的有限操作。DevChat 为开发人员提供了一种非常实用有效的方式来与大型语言模型 (LLM) 进行交互和协作。

DevChat 智能编程助手,让开发更轻松!告别脏活累活,做更有价值的工作。

image-20231103222705131

助企业团队效能提升30%

人人写出优质代码,让反人性的工程规范真正落地

Devchat3

DevChat做最务实好用的智能编程工具,不做AI试验品

image-20231105114522384

二、DevChat优势🪁

image-20231105114359365

  • 众多大模型任意挑选

image-20231105145552673

  • 利用 AI 的编码能力的瓶颈在于如何在提示中嵌入正确的上下文

出色的输出需要出色的输入。为了最大限度地发挥 AI 的力量,DevChat 可无缝地帮助您为 AI 提供正确的上下文

  • 提示扩展

DevChat 利用目录来管理预定义的提示模板。您可以使用文本编辑器轻松添加自己的或修改现有的。 默认情况下,该目录已命名并位于主目录的文件夹中

三、DevChat注册流程篇🎀

搜索🔍:https://www.devchat.ai/


点击页面中免费注册

image-20231103224249077

在此页面中,输入用户名(自定义)、邮箱,完成验证后,点击Sign Up

image-20231103224505091

注册成功,在右上角会有弹窗提示,提示检查收件邮箱,有发送access key。如下图所示。

image-20231103224607340
image-20231103224758908

收到带有access key的邮件。

接着,在登录界面,输入完登录邮箱之后,会收到带有验证码的邮件。

image-20231103224906229

输入验证码,即可完成登录。

image-20231103225029122

页面跳转到这里,这里展示个人相关信息。

image-20231103225202691

至此,DevChat注册完成。

四、DevChat使用教程篇📢

1. DevChat插件安装配置⚒️

  • 安装依赖软件
PS C:\Users\xyb> git --version
git version 2.40.1.windows.1
  • 安装插件

打开VSCode扩展,输入devchat,点击安装。如下图所示。

image-20231104203036595

DevChat安装完成。

image-20231104203502436

  • 设置Access Key

获得 access key,完整复制粘贴到 VS Code 中,点击左下角管理(“齿轮”图标)—命令面板(Command Palette),如下图所示:

image-20231104203927249

在弹出的命令面板中输入“devchat key”,点击如下命令:

image-20231104204026480

输入密钥,敲击Enter确认。

image-20231104204155269

2. 与DevChat问答交流🔣

让DevChat介绍一下Golang并发机制。

image-20231104211441506

给DevChat以下自然语言要求:

请列出世界上排名前五的语言,以及用户使用数量,性能、上手难度等几个维度给出解答,使用markdown表格(包裹在markdown和之间)列出来。

image-20231104213336169

排名语言大致用户数量性能上手难度
1Python容易
2Java非常高中等
3JavaScript非常高容易
4C#中等到困难
5PHP容易

当我想要生成个一个CloudFormation的配置模板出来,我表达了我的创建要求:

我需要一台AWS EC2 实例用于部署堡垒机,这台实例的要求是:

  1. 系统是Amazon Linux 2 ;
  2. 规格不小于:2 CPU cores, 4 GB memory, and 40 GB disk space;
  3. 所有端口都可以从公网访问;
  4. 该堡垒机所在的区域是日本东京ap-northeast-1

已知云主机的密钥对已创建并保存好,请给出创建这台 EC2 实例对应的 cloudformation 配置模板,以yaml形式展现出来。

  • DevChat也能帮我实现出来。

image-20231105152336342

3. DevChat辅助代码开发🕹️

编写python代码,实现上传本地文件到AWS S3存储桶中的功能。

DevChat给出的代码如下:

import boto3
from botocore.exceptions import NoCredentialsError# AWS中的access credentials
AWS_ACCESS_KEY_ID = 'YOUR-ACCESSKEY'
AWS_SECRET_ACCESS_KEY = 'YOUR-SecretKey'def upload_to_aws_s3(local_file: str, bucket: str, s3_file: str):try:s3 = boto3.client('s3', aws_access_key_id=AWS_ACCESS_KEY_ID,aws_secret_access_key=AWS_SECRET_ACCESS_KEY)s3.upload_file(local_file, bucket, s3_file)print("Upload Successful")return Trueexcept FileNotFoundError:print("The file was not found")return Falseexcept NoCredentialsError:print("Credentials not available")return Falsebucket_name = 'Your AWS S3 bucket name'
local_filename = 'Local file path which needs to be uploaded'
s3_filename = 'The name of the file you want to save to AWS S3'upload_to_aws_s3(local_filename, bucket_name, s3_filename)

我们替换好AWS访问密钥和秘密键相关信息,把 bucket_name, local_filename 和 s3_filename 替换为自己的S3存储桶名称,本地文件路径和想要保存到AWS S3的文件名。之后运行此代码,上传成功!🎉

image-20231105001443947

接着,我们来到AWS S3管理控制台,进行确认。大功告成!

image-20231105001528894
接下来,我们换个编程语言来试试,DevChat是否能够为我们完成相同的操作呢?


编写Go语言代码,实现上传本地文件到AWS S3存储桶中的功能。

DevChat给出的代码如下:

package mainimport ("log""os""github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/s3/s3manager"
)const (region          = "ap-northeast-1"bucketName      = "xybawsbucket"localFilePath   = "C:/Users/xyb/index.html"s3UploadKeyPath = "index.html"
)func main() {// 创建一个aws会话,默认它将从您的~/.aws目录提取凭证sess, err := session.NewSession(&aws.Config{Region: aws.String(region)})if err != nil {log.Fatalf("Failed to create session, %v", err)}file, err := os.Open(localFilePath)if err != nil {log.Fatalf("Failed to open file %q, %v", err)}defer file.Close()uploader := s3manager.NewUploader(sess)result, err := uploader.Upload(&s3manager.UploadInput{Bucket: aws.String(bucketName),Key:    aws.String(s3UploadKeyPath),Body:   file,})if err != nil {log.Fatalf("failed to upload file, %v", err)}log.Printf("file uploaded to, %s\n", result.Location)
}

接着,我们来到AWS S3管理控制台,再次进行确认。发现本地的index.html文件已经成功上传到S3指定的存储桶中,大功告成!

image-20231105143831412

在与DevChat极度“掰扯”之下,DevChat终于帮我实现了我想要的功能,编写编译出可执行且无报错的代码程序,赞!🎆

Devchat4

与DevChat持续交流,抛出不懂的问题或报错,DevChat即可给出相关答案与解释

五、DevChat体验心得🎇

  • DevChat可以帮助开发者在困惑或者遇到困难时更准确地找到问题的答案,从而提升开发效率。
  • DevChat的实时互动性能带来便利的技术帮助,特别是在敲代码或者debug的过程中。
  • 对于一些基本或者常见的问题,DevChat能够提供直接且准确的答案,适合初学者快速入门和进阶。
  • DevChat能理解复杂的问题并提供有参考价值的答案,对于有经验的开发者也很有帮助。
  • 有时候,DevChat也可能无法理解或者答对一些特别复杂或者领域深入的问题,但通常也会给出一些相关的建议和链接。

总之,DevChat是一款值得快快入手的智能编程助手,它能够使开发人员利用 AI 进行代码生成和文档编制。快来和我一起体验吧~

六、参考链接⚙️

[1] https://bbs.csdn.net/topics/617476387

[2] https://www.devchat.ai/

[3] https://blog.csdn.net/simayi2018/article/details/131245790

[4] https://zh.devchat.blog/devchat-vscode-installation-guide

[5] https://github.com/devchat-ai/devchat

这篇关于【DevChat】智能编程助手,告别敲代码烦恼,从此爱上AI编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

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

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

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

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

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

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.