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

news2024/11/24 19:32:42

🔎官方网站: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 True

    except FileNotFoundError:
        print("The file was not found")
        return False
    except NoCredentialsError:
        print("Credentials not available")
        return False

bucket_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 main

import (
	"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

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

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

相关文章

【Kotlin精简】第7章 泛型

1 泛型 泛型即 “参数化类型”,将类型参数化,可以用在类,接口,函数上。与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。 1.1 泛型优点 类型安全:通用允许…

分享68个工作总结PPT,总有一款适合您

分享68个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1juus0gmesBFxJ-5KZgSMdQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…

【数据结构】数组和字符串(十五):字符串匹配2:KMP算法(Knuth-Morris-Pratt)

文章目录 4.3 字符串4.3.1 字符串的定义与存储4.3.2 字符串的基本操作4.3.3 模式匹配算法0. 朴素模式匹配算法1. ADL语言2. KMP算法分析3. 手动求失败函数定义例1例2例3 4. 自动求失败函数(C语言)5. KMP算法(C语言)6. 失败函数答案…

思维模型 凡勃伦效应

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。为什么有些人愿意为高价商品买单?请看凡勃伦效应。 1 凡勃伦效应的应用 1.1 奢侈品市场中的凡勃伦效应 茅台酒:茅台酒是中国的一种高档白酒,价格非常昂…

在本地安装LLAMA 2

方法一: Meta已将llama2开源,任何人都可以通过在meta ai上申请并接受许可证、提供电子邮件地址来获取模型。 Meta 将在电子邮件中发送下载链接。 下载llama2 获取download.sh文件,将其存储在mac上打开mac终端,执行 chmod x ./do…

namespace

1.namespace技术 namespace是Linux内核的一组特性,支持对内核资源进行分区隔离,让一组进程只能看到一组资源,而另一组进程只能看到另一组不同的资源。换句话说,namespace的关键特性是进程隔离。在运行许多不同服务的服务器上&…

计网【链路带宽100Mbps代表什么,“翻译”成人话是?】

这里写目录标题 带宽的概念本来的意思【通信领域】计网中的意思 结论【100Mbps代表什么】 带宽的概念 本来的意思【通信领域】 带宽这个概念本来是通信领域的,表示通信线路允许通过的信号频带范围,单位是赫兹Hz 感觉最简单的意思,例如如果…

Javascript知识点详解:数组、Array 对象

目录 数组 定义 数组的本质 对象有两种读取成员的方法: length 属性 in 运算符 for...in 循环和数组的遍历 数组的空位 类似数组的对象 Array 构造函数 静态方法 Array.isArray() 实例方法 valueOf(),toString() push(),pop(…

ruby、Python 以及 Swift 语言关于 “Finally” 实现的趣谈

0. 概览 结构化代码语义是任何语言入门之必备基本功,想写出“意大利面条”似的美味代码么?直接干就对了! 虽然上面有些“话糙理不糙”,但不可否认的是现今几乎所有高级语言都对代码结构化语义提供了良好的支持。入门码农们的第一…

循环队列练习

循环队列练习 相关内容&#xff1a; 1.队列顺序存储的不足 2.循环队列&#xff08;队列头尾相接的顺序存储结构&#xff09; //队列的初始化、入队、出队、取对头、计算队长度 #include<stdio.h> #define MAXSIZE 10 typedef int Status; #define OK 1 #define ERROR 0…

虚幻C+++基础 day2

角色移动与视角控制 Character类与相关API 创建Character子类MainPlayer.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "GameFramework/Character.h" #include &q…

centos7.0+最快速安装docker的方法

先安装yum工具&#xff0c;然后添加阿里云的docker仓库&#xff0c;然后yum安装&#xff0c;然后启动 安装yum-config yum install yum-utils -y yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce do…

一款简单而强大的文档翻译网站

一款文字/文件翻译的网站,支持多个领域的翻译&#xff0c;支持常见的语言翻译(韩/日/法/英/俄/德…),最大百分比的保持原文排版(及个别除外基本100%还原)。 新用户注册就有100页的免费额度&#xff0c;每月系统还会随机赠送翻译额度&#xff0c;说实话这比好多的企业要好的多了…

为什么没有面试机会?是因为你没有掌握这套完整的性能测试流程,

一、准备工作 在什么阶段开展性能测试工作&#xff1f;一般情况下&#xff0c;是在被测系统已完成功能测试、系统趋于稳定的情况下&#xff0c;才会进行性能测试。 1. 组建测试团队 根据被测系统的实际情况&#xff0c;组建一个性能测试团队&#xff0c;团队成员包括&#xff…

CUMT-----Java课后第五章编程作业

文章目录 一、题11.1 问题描述1.2 代码块1.3 运行截图 二、题22.1 问题描述2.2 代码块2.3 运行截图 一、题1 1.1 问题描述 (1)使用继承编写人类、教师、学生类的实体类。(2)编写测试类&#xff0c;实例化教师和学生类对象并显示。 1.2 代码块 public class Human {private S…

镭神智能C16的ROS驱动的安装方法

原文链接 前言 激光雷达赶上了自动驾驶了浪潮&#xff0c;国产激光雷达也越来越多。 最近团队要购买激光雷达&#xff0c;正好拿镭神智能的产品测试一下&#xff0c;安装驱动是首先要做的&#xff0c;因此在这里记录一下。 产品说明&#xff1a;http://www.leishen-lidar.com…

multiple kernel learning(MKL)多核学习

历史上之所以会出现多核学习&#xff08;MKL&#xff09;这个词&#xff0c;是因为在深度学习流行起来以前&#xff0c;kernel是处理非线性的默认方法&#xff0c;那个年代优化一个非线性函数不容易&#xff0c;每加一层复杂性可能就需要多设计一个优化算法&#xff0c;MKL就是…

使用 ChatGPT 提升 LeetCode 刷题效率

文章目录 1 背景2 操作步骤 1 背景 在做 LeetCode 的 SQL 题库时, 想在本地调试, 需要在本地的数据库上创建表以及准备测试数据, 大家都是有经验的开发人员, 简单粗暴的办法就不讲了 可以借助 ChatGPT 的能力, 生产数据库的表以及测试数据的 sql, 提升刷题效率 2 操作步骤 将…

K8S知识点(四)

&#xff08;1&#xff09;环境搭建-集群安装 查看所需镜像 定义下载镜像 循环下载镜像&#xff1a; 下载完成之后&#xff1a;查看一下镜像&#xff0c;名字也已经改成了k8s的名字 集群初始化只在master节点上运行&#xff0c; 出现sucessfully表示成功&#xff0c;提示要运…

5.3 连接和分离线程

方法 pthread_join(thread, status) pthread_detach(thread) pthread_attr_setdetachstate(attr, detachstate) pthread_attr_getdetachstate(attr) 连接 连接&#xff08;joining&#xff09;是一种线程之间完成同步的方法&#xff0c;举例如下。 pthread_join()方法会阻…