赞
踩
+ - [4.1 优化整个代码文件](#41__115)
- [4.2 使用 DevChat 进行代码审计](#42__DevChat__262)
+ [五、文末总结](#_280)
本次评测聚焦于 VSCode 插件 DevChat,为开发者提供即时通信功能,提高编程效率。文章深入探讨了插件的安装、使用和特性,通过代码示例详细说明其在开发过程中的实际帮助。在软件开发领域,VS Code 作为灵活而功能强大的编辑器,通过丰富的插件满足各类开发需求。对于对 GPT 感兴趣的人,推荐使用 DevChat,这款基于 GPT-4 的聊天式编程辅助工具。与 ChatGPT 不同,DevChat 直接为 VS Code 提供插件,使得在编程环境中与之对话更加便捷。
DevChat是一个集成了多种主流大模型的AI编程工具,专注于提升程序员的编程效率。它整合了ChatGPT、Codex等热门AI大模型,支持自然语言编程、代码编写、代码生成、代码补全等功能。Devchat最大的优势是一站式服务,集成热门大模型,并且可以根据需求随心切换,省去了选择和整合不同AI模型的麻烦,无需过多配置就可以快速上手,从而全面提升开发效率。产品务实高效,近期还在QCon全球软件大会亮相,斩获众多圈内开发者的好评
尽管有许多AI编码工具可用,但我们基于通过生成数万行代码积累的实际见解开发了DevChat。DevChat做出了以下的独特的设计选择。
对上下文的精准掌控是有效使用人工智能的关键。例如,假设你希望AI为一个函数生成一些测试用例。瓶颈不在于制定请求本身或嵌入给 AI 的指令,比如“你是一个很棒的测试者”。相反,对于请求而言,被称为上下文的所需信息是最关键的因素。在这种情况下,上下文可能不仅涵盖被测试的函数,还包括它调用的任何其他主要函数,这可能影响测试用例。此外,上下文还可能包括一个类似的工作测试用例,以帮助 AI 理解和复制测试用例在你特定环境中的设置和格式。
我们发现大多数其他“智能”或“自动”工具倾向于过度猜测用户需要将什么放入提示中,目的是减轻用户的工作量。这通常导致比 LLMs 能够有效处理的更多噪音。DevChat 将控制权交还给人类以实现真正的生产力,并提供用户友好的方法来简化上下文选择。在实践中,人类仍然是驾驶员,只有在提供清晰请求和适当上下文的情况下,AI 才能真正发挥作用。
为了满足你的需求,你不必学习特定编程语言的新框架。提示应该对用户可见且易于编辑,而不是隐藏在复杂的框架中。
自定义你的提示,建立适合你和团队的工作库。将自己的提示模板轻松集成到 DevChat 中,无需进行大量工程努力或陡峭的学习曲线。你不需要一个复杂的框架来让 AI 为你工作。只需使用操作你文件系统的标准编辑器即可。
现阶段 DevChat 支持多种大模型,现阶段可以看到支持 GPT-4(OpenAI)、GPT-3(OpenAI)、Claude-2 等。
从下图可以看到,支持的模型种类很多:
直接访问官方网站进行注册
DevChat 官方网站:https://www.devchat.ai/
输入注册信息进行注册
注册成功后,在你的邮箱内会收到注册成功的提示邮件,类似如下,请保存该邮件,如果没有收到,先去垃圾箱检查一下,可能会被误判为垃圾邮件了。里面包含一个 Access Key 信息,要保存好,后面会使用到。
环境中需要安装 Git 依赖,安装方法可以参考我以前的博文:[Git & GitHub] Windows安装git和环境变量配置
完成安装后,在命令行终端运行git --version
返回版本号表明成功。
在 VS Code 插件市场中搜索devchat
,如下图,点击安装(或访问 Visual Studio Marketplace,点击 Install)。
安装可能持续若干分钟(在这里我确实等了几分钟)
完成安装后的提示:如下图
在访问 https://web.devchat.ai/ 注册的账号后,会收到邮件,里面会带有 Access Key(上文有提示),完整复制粘贴到 VS Code 中,具体方法为:
点击左下角管理(“齿轮”图标),命令面板(Command Palette),在弹出的命令面板中输入devchat key
,点击如下命令后,如下图:
在弹出的输入框中粘贴进 DevChat Access Key,回车。右下方状态栏 DevChat 前出现如下对勾,表明安装配置完成
到此步骤,我们已经将 DevChat 成功安装到 VS Code 中,接下来我们实际操作一下,来体验 DevChat 的强大。
在这个例子里,我们可以直接讲某一个代码文件,添加到 DevChat 中,之后让 DevChat 直接进行分析,得到代码策略。
如下图所示,直接右键点击代码文件,添加到 DevChat 中
在下图可以看到,我们添加的代码文件,并且在聊天框中,可以直接添加输入你想做的事情,之后让 DevChat 进行优化代码,并且 DevChat 给出了建议方案。
DevChat 给出的建议参考如下。
你的代码写得不错,只有一小部分可以进一步优化,具体的优化点如下:
你可以将数据库连接配置项抽象为一个函数,如此可以在三个执行数据库操作的函数中复用。同时你可以使用with
语句,这样在语句结束之后,连接和游标就会自动关闭,无需手动关闭。
你可以使用 os.path.join(path, i)
来代替 path + '/' + i
,这样可以避免在不同操作系统上出现的路径分隔符不统一的问题。
以下为对应的优化代码:
import pymysql import pandas as pd import os import wordcloud import numpy as np from PIL import Image import matplotlib.pyplot as plt # MySQL数据库连接配置 db_config = { 'host': "gz-cynosdbmysql-grp-d27hp6vl.sql.tencentcdb.com", 'port': 27529, 'user': "root", 'password': "TDSQL-C.@GMbe#P!", 'database': 'experience-12', } def get_connection_cursor(): # 建立MySQL数据库连接 conn = pymysql.connect(**db_config) cursor = conn.cursor() return conn, cursor def create_table(table_name, columns): with get_connection_cursor() as (conn, cursor): query = f"CREATE TABLE IF NOT EXISTS {table_name} (" **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/5eaa6aafcc0df04aad65cf4bab407631.jpeg) ![img](https://img-blog.csdnimg.cn/img_convert/c771aa425e9d90869666d697f8d1c4c5.png) ![img](https://img-blog.csdnimg.cn/img_convert/920fdb77b2aa2234c6061eb8eb68683d.png) ![img](https://img-blog.csdnimg.cn/img_convert/4687d7bb0d5419571bbba00f90717ad2.png) ![img](https://img-blog.csdnimg.cn/img_convert/1ad2c70d8df3217ee7d3cc411a5a65da.png) ![img](https://img-blog.csdnimg.cn/img_convert/4684de13fce867e40fc1bae03cba5a05.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)** ![img](https://img-blog.csdnimg.cn/img_convert/bbe6834c13b4eaba48c3669d276cdfd4.jpeg) ### 最后 这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。 ![image](https://img-blog.csdnimg.cn/img_convert/7dd63c101473c8a6e6305d5efec5686d.webp?x-oss-process=image/format,png) **整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~** **你的支持,我的动力;祝各位前程似锦,offer不断!!!** ### 最后 这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。 [外链图片转存中...(img-h8YhkxbM-1712017734409)] **整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~** **你的支持,我的动力;祝各位前程似锦,offer不断!!!**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。