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

Visual Studio Code 的 AI 编程助手

文章目录

    • 1. 写在最前面
    • 2. AI 编程助手
      • 2.1 Top 10 AI Extensions for Visual Studio Code
        • 2.1.1 脑图概括
        • 2.1.2 详细介绍
      • 2.2 10 Best AI Code Tools: Quick and Easy Guide (2024)
        • 2.2.1 脑图概括
        • 2.2.2 详细介绍
    • 3. Cody 插件试用
    • 4. 碎碎念
    • 5. 参考资料

1. 写在最前面

最近在研究如何通过 AI 的主力更丝滑的写代码,目前体验过的 AI 编程助手:

  • cursor : 除了贵,没有其他缺点

  • copilot:稍逊色于 cursor ,之前总是用它写测试用例

  • trae:摸着良心说,想要赶上前面两个需要做更多的优化,同样的问题,问它根本写不出能跑的代码。

注:虽然 trae 的表现不如预期,但是笔者还是愿意相信国产 AI 大模型在持续迭代优化的情况下,肯定会越做做好的。

笔者使用的编程软件是 VS Code,本着「工欲善其事,必先利其器」的原则,让我们来分析一下,最近市面上涌现的一批有收到过好评的 AI 编程助手吧!

2. AI 编程助手

本着省事省力的原则,能用 AI 总结概括的知识,笔者绝不自己动手。写到这里不仅要感慨,时代的进步,社会的发展,让我又次在科技的力量面前被震撼到。

2.1 Top 10 AI Extensions for Visual Studio Code

2.1.1 脑图概括

在这里插入图片描述

2.1.2 详细介绍

主要介绍了 Visual Studio Code 中排名前十的 AI 扩展工具,按照安装数量排序,具体内容如下:

  • IntelliCode:由微软开发,基于开源跨平台的 VS Code 编辑器,安装量超 2700 万次。它在 IntelliSense 代码补全功能基础上进行了多项改进,能扫描 GitHub 上的开源代码库,还提供即时 API 代码示例。支持多种语言,评分为 3.9 分(满分 5 分) 。

  • Tabnine AI Autocomplete:安装量约 500 万次,利用机器学习模型,可提供整行代码补全、全功能补全和自然语言转代码补全功能。支持约 25 种语言,近期新增生成单元测试代码功能,评分为 4.3 分。

  • GitHub Copilot:2021 年推出,由 OpenAI 的先进机器学习模型提供支持,安装量超 400 万次。除代码补全外,还能将注释转换为代码、创建单元测试和 SQL 查询等。该工具收费,每月 10 美元起,评分为 3.8 分。

  • Azure Machine Learning (Preview):微软开发的免费工具,安装量超 150 万次。可帮助开发者在 VS Code 编辑器中完成机器学习模型的构建、训练和部署,支持多种开源技术,评分为 4.7 分。

  • Azure Machine Learning - Remote (Preview):与上述工具互补,可连接远程 Azure 计算实例,支持运行和调试 Python 脚本、访问远程文件系统等功能,安装量超 130 万次,评分为 3.7 分。

  • Dependency Analytics (Preview):由 Red Hat 开发的免费工具,安装量超 100 万次。它利用开源漏洞数据库,提供应用程序依赖项的安全、许可证兼容性等方面的洞察和建议,支持多种项目类型,评分为 4.3 分。

  • Blackbox:免费工具,去年 9 月推出,安装量超 60 万次。支持 20 多种编程语言,提供代码自动补全、仓库搜索和代码搜索功能,评分为 4.5 分。

  • Inkling:微软开发的免费工具,支持 Bonsai “inkling” 语言,提供语法着色和错误 / 警告报告功能。该语言用于训练 AI,扩展评分为 5 分。

  • ChatGPT:由 Ali Gençay 开发的免费工具,安装量从 1 月的 42,457 次增长到现在的 368,884 次。它集成了 OpenAI 的多种先进机器学习模型,支持多种功能,评分为 4.6 分222324。

  • GitHub Copilot Nightly:包含 GitHub Copilot 的最新功能,安装量超 22.5 万次,评分为 4.7 分。

2.2 10 Best AI Code Tools: Quick and Easy Guide (2024)

2.2.1 脑图概括

在这里插入图片描述

2.2.2 详细介绍

主要介绍人工智能在软件开发领域的应用,着重介绍多种 AI 代码工具,助力开发者提升效率、优化开发流程。

  • AI 代码工具概述:AI 代码工具借助人工智能和机器学习算法,辅助开发者编写、调试和优化代码,涵盖智能代码补全、上下文感知代码生成等多项功能,能提升开发效率。

  • 主流 AI 代码工具介绍

    • OpenAI ChatGPT:功能强大,可生成类人文本、解决编程任务,支持多语言翻译等。基础使用免费,GPT Plus 每月 20 美元。

    • Qodo:自动完成开发任务、提供测试建议,支持多语言和多种 git 代码托管平台,免费试用,付费版每月 19 美元起。

    • Replit AI:集成于 Replit 平台,提供代码自动补全、解释等功能,支持团队协作。免费版可用,Replit Core 每月 25 美元起。

    • Codeium:具备智能代码补全功能,无订阅也能无限使用,支持多种主流语言和编辑器。个人免费,专业版每月 10 美元起。

    • Amazon Q:由 AWS 开发,专注云原生开发,能生成优化代码、检测安全漏洞。有免费层级,Amazon Q Developer 每位用户每月 19 美元起。

    • DeepCode:自动扫描代码漏洞,支持多种语言和 CI/CD 工具集成。提供免费试用,每月 25 美元起。

    • Continue:开源 AI 代码助手,支持多种模型,可定制编码体验。开源免费,企业定制收费。

    • Aider:可在终端与大语言模型协作编程,支持多文件编辑等功能,完全免费。

    • Pieces:管理代码片段,具备调试、代码生成等功能,免费使用。

    • Cody:能理解、编写和修复代码,提供智能代码搜索等功能。有免费计划,Cody Pro 每月 9 美元起。

  • 总结与拓展:AI 代码工具革新了软件开发方式,满足多样需求。文章还推荐了相关阅读内容,并解答了常见问题

3. Cody 插件试用

本着「勤俭节约」的精神,笔者试用了一个 Cody 的免费版本,从试用的情况下,生成 「测试用例」的能力还不错,起码一遍成功,且能跑!

在这里插入图片描述

4. 碎碎念

啦啦啦,今年的学习的劲头就上来了,希望能继续保持住!

  • 如果你不吃别人家的饭,就别太把别人的话放在心上。

  • 读一些无用的书,做一些无用的事,花一些无用的时间,都是为了在一切已知之外,保留一个超越自己的机会,人生中一些很了不起的变化,就是来自这种时刻。

  • 你得学会放手,一开始会有点难受,之后就会觉得很舒服了,丢东西是件好事。

5. 参考资料

  • Top 10 AI Extensions for Visual Studio Code

  • 10 Best AI Code Tools: Quick and Easy Guide (2024)

相关文章:

Visual Studio Code 的 AI 编程助手

文章目录 1. 写在最前面2. AI 编程助手2.1 Top 10 AI Extensions for Visual Studio Code2.1.1 脑图概括2.1.2 详细介绍 2.2 10 Best AI Code Tools: Quick and Easy Guide (2024)2.2.1 脑图概括2.2.2 详细介绍 3. Cody 插件试用4. 碎碎念5. 参考资料 1. 写在最前面 最近在研究…...

Kafka的ISR是什么,HW是什么,怎么保证可靠性,Kafka怎么实现顺序消息?为什么Kafka的broker上的topic越多,效率越慢?

目录 1. Kafka 的 ISR 是什么 2. Kafka 的 HW 是什么 3. Kafka 如何保证可靠性 4. Kafka 怎么实现顺序消息 5. 为什么 Kafka 的 broker 上的 topic 越多,效率越慢 1. Kafka 的 ISR 是什么 ISR 即 In-Sync Replicas(同步副本集),是 Kafka 中一个重要的概念,用于保障消…...

Ollama系列---【ollama使用gpu运行大模型】

一、安装CudaToolkit 使用控制台命令查看当前显卡驱动中的cuda版本 nvidia-smi 二、下载CudaToolkit 注意:CudaToolkit版本要低于上面的显卡Cuda版本。 Cuda各版本下载地址:CUDA Toolkit Archive | NVIDIA Developer 下载好之后,一路下一步&a…...

使用C语言实现MySQL数据库的增删改查操作指南

使用C语言与MySQL数据库进行交互,通常涉及使用MySQL提供的C API库。这套API允许开发者在C/C++程序中执行SQL查询,从而实现数据库的增删改查操作。下面,我将详细介绍如何在C语言中实现这些基本操作。 准备工作 安装MySQL开发库:确保你的系统上安装了MySQL服务器以及MySQL开发…...

【Golang学习之旅】Go + Redis 缓存设计与优化(项目实战)

文章目录 业务需求1. 缓存设计2. GoRedis代码实现3. 代码解析4. 性能优化 在本节中,我们将通过一个实际的项目案例,演示如何在 Go 中使用 Redis 实现高效的缓存设计与优化。 业务需求 假设我们正在开发一个电商平台,需要缓存商品信息以提高页…...

2、k8s 二进制安装(详细)

k8s 二进制安装 IP规划初始化部署 etcd 集群在 etcd01 节点上操作准备cfssl证书生成工具,加权生成etcd证书上传etcd软件包启动 etcd 服务 部署 Master 组件部署 Worker Node 组件node 节点安装 docker部署组件 部署 CNI 网络组件部署 flannel简介部署 部署 Calico简…...

安卓开发,底部导航栏

1、创建导航栏图标 使用系统自带的矢量图库文件,鼠标右键点击res->New->Vector Asset 修改 Name , Clip art 和 Color 再创建一个 同样的方法再创建四个按钮 2、添加百分比布局依赖 app\build.gradle.kts 中添加百分比布局依赖,并点击Sync Now …...

CWOI-N RER 1 > 2 Solution

CWOI-N RER 1 > 2 Solution 声明:头图为断章取义。 这场比赛得 200 200 200 分是保底,得 300 300 300 分是基操,得 350 350 350 分以上才是实力(但不多)。 A - 机读卡 No solutions yet. 这题数据倒还不能无…...

字节跳动后端一面

📍1. Gzip压缩技术详解 Gzip是一种流行的无损数据压缩格式,它使用DEFLATE算法来减少文件大小,广泛应用于网络传输和文件存储中以提高效率。 🚀 使用场景: • 网站优化:通过压缩HTML、CSS、JavaScript文件来…...

Dify 框架连接 PGSQL 数据库与 Sandbox 环境下的 Linux 系统调用权限问题

Dify 框架连接 PGSQL 数据库与 Sandbox 环境下的 Linux 系统调用权限问题 背景 在使用 Dify 框架进行开发时,遇到了两个主要的技术挑战: 代码节点连接到 PGSQL(PostgreSQL)数据库。解决沙盒环境中由于系统调用限制导致的“oper…...

ModuleJS 与 CommonJS 混用的两种解决方案

目录 方案一 方案二 统一使用 ModuleJS 统一使用CommonJS 方案一 使用构建工具,webpack、vite等系列构建工具。这些构建工具底层则会将两种不同的系统模块语言转为同一种语言,然后代码也能正常执行。 方案二 如果你可以修改文件的文件后缀&#xf…...

代码随想录--977有序数组的平方

977 有序数组的平方 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释&…...

Win11下搭建Kafka环境

目录 一、环境准备 二、安装JDK 1、下载JDK 2、配置环境变量 3、验证 三、安装zookeeper 1、下载Zookeeper安装包 2、配置环境变量 3、修改配置文件zoo.cfg 4、启动Zookeeper服务 4.1 启动Zookeeper客户端验证 4.2 启动客户端 四、安装Kafka 1、下载Kafka安装包…...

MacBook Pro M2安装deepseek

序 本文主要展示一下如何在MacBook Pro M2安装deepseek mac配置 芯片Apple M2,8核(物理),内存16G,os版本Ventura,磁盘500G 步骤 下载ollama 去https://ollama.com/下载mac版本 或者使用go来编译 git clone --depth 1 http…...

springboot的http请求不通原因

Spring Boot 应用中 HTTP 请求不通可能由多种原因引起,以下是一些常见问题及解决方法: 1. 端口冲突 问题:应用端口被占用。 解决:检查端口占用情况,修改 application.properties 或 application.yml 中的端口配置。 …...

【Windows】PowerShell 缓存区大小调节

PowerShell 缓存区大小调节 方式1 打开powershell 窗口属性调节方式2,修改 PowerShell 配置文件 方式1 打开powershell 窗口属性调节 打开 CMD(按 Win R,输入 cmd)。右键标题栏 → 选择 属性(Properties)…...

使用python脚本批量删除redis缓存

首先,安装 redis-py 库: pip install redis 其次,创建一个 Python 脚本来连接到 Redis 并删除匹配的键。假设 Redis 端口是 6379,密码是 mypassword(如果有密码的话)。 import redis# 连接到 Redis r r…...

Python截图轻量化工具

一、兼容局限性 这是用Python做的截图工具,不过由于使用了ctypes调用了Windows的API, 同时访问了Windows中"C:/Windows/Cursors/"中的.cur光标样式文件, 这个工具只适用于Windows环境; 如果要提升其跨平台性的话,需要考虑替换cty…...

Android图片加载框架Coil,Kotlin

Android图片加载框架Coil,Kotlin implementation("io.coil-kt:coil:1.4.0") import android.os.Bundle import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import coil.Coil i…...

重生之我要当云原生大师(十四)分析和存储日志

目录 一、简述常用的日志文件所存储的消息类型。 二、syslog的优先级? 三、维护准确时间的意义? 一、简述常用的日志文件所存储的消息类型。 1. 系统日志文件 /var/log/messages 消息类型:通用的系统日志文件,记录系统启动、…...

C++基础知识学习记录—补充

1、C新增的赋值语法 #include <iostream>using namespace std;int main() {//C新的赋值语法//1、传统的赋值语法int a,b;a100;b99;//C新的赋值语法int c(2);//相当于给c赋值2int d(c);//相当于把c的值赋值给dcout << "c" << c << endl;co…...

Linux常用命令——磁盘管理类

文章目录 du 查看文件和目录占用的磁盘空间df 查看磁盘空间使用情况free 显示内存占用情况lsblk 查看设备挂载情况mount/umount 挂载/卸载fdisk 分区Linux分区分区操作按键说明挂载硬盘操作 du 查看文件和目录占用的磁盘空间 ls-lh是查看文件大小du: disk usage 磁盘占用情况d…...

【AI学习】DeepSeek为什么强?

个人的一些思考&#xff0c;请大家批评指正。 这个问题&#xff0c;首先当然是在恰当的时间出现&#xff0c;模型性能跻身世界一流&#xff0c;又开源&#xff0c;戳破了OpenAI和英伟达潜心构造的叙事逻辑。 DeepSeek为什么强&#xff1f;四个方面&#xff1a;模型的智能水平…...

【快应用】原生广告下载状态监听案例

问题背景&#xff1a; 快应用中下载类原生广告监听下载状态变化接口调用没生效&#xff0c;在上报点击接口里触发下载监听后仅第一次返回状态&#xff0c;之后就不返回了&#xff0c;该如何处理&#xff1f; 问题分析&#xff1a; 快应用在1100版本新增了一个ad-button组件&a…...

C++语言的软件工程

C语言的软件工程 引言 在当今快速发展的技术领域&#xff0c;软件工程作为一门综合性的学科&#xff0c;越来越受到重视。而C语言&#xff0c;作为一种功能强大且具有广泛应用的编程语言&#xff0c;在软件工程中占据着重要的地位。本文将探讨C语言在软件工程中的应用与特点&…...

计算机网络结课设计:通过思科Cisco进行中小型校园网搭建

上学期计算机网络课程的结课设计是使用思科模拟器搭建一个中小型校园网&#xff0c;当时花了几天时间查阅相关博客总算是做出来了&#xff0c;在验收后一直没管&#xff0c;在寒假想起来了简单分享一下&#xff0c;希望可以给有需求的小伙伴一些帮助 目录 一、设计要求 二、…...

无人机避障——基于ESDF地图的JPS算法前端路径规划

原来是用栅格地图的方式&#xff0c;0表示可通行区域&#xff0c;1表示不可通行区域&#xff0c;然后采用JPS算法做路径规划&#xff0c;从起点到终点规划出一条路径。但是目前我需要做的是将栅格地图更换为ESDF地图&#xff0c;那么JPS算法计算代价的部分是否需要进行变化。 …...

【MQ】RabbitMQ 高可用延时功能的探究

延迟消息如果使用延时交换机来实现&#xff0c;如果数据量过大&#xff0c;就会很占 CPU 资源&#xff0c;轻则时间误差大&#xff0c;重则 RabbitMQ 宕机 一、针对一个 RabbitMQ 节点 &#xff08;1&#xff09;利用队列 ttl&#xff0c;将延迟消息根据 delay 的时间进行分级…...

Maven入门核心知识点总结

Maven 1. POM&#xff08;Project Object Model&#xff09;2. 坐标&#xff08;Coordinates&#xff09;3. 依赖管理&#xff08;Dependency Management&#xff09;4. 常用五个生命周期&#xff08;Life Circle&#xff09;5. Maven 仓库&#xff08;Maven Repository&#x…...

【力扣】138.随机链表的复制

AC截图 题目 代码 使用哈希存储<旧节点&#xff0c;新结点> /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { public:Node* copyRandomList(Node* hea…...