当前位置: 首页 > 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 消息类型:通用的系统日志文件,记录系统启动、…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...