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

VS Code Copilot 与 Cursor 对比

选手简介

VS Code Copilot:算是“老牌”编程助手了,虽然Copilot在别的编辑器上也有扩展,不过体验最好的还是VS Code,毕竟都是微软家的所以功能集成更好一些;主要提供的是Complete和Chat能力,也就是代码补全和聊天。

Cursor:基于VS Code的开源代码来进行的二次开发,没有像Copilot一样作为VS Code的插件来编写,据作者说这是为了实现 VS Code 现有架构无法实现的理想交互方式;提供了Cursor Tab(原Cursor++)和Chat,其实也是代码补全和聊天,还有个“杀手锏”功能Composer。

对比维度

我会针对下面几个维度,分享我自己的使用体验:

  • IDE本身
  • AI
  • 价格
  • 潜力

IDE本身

VS Code:非常丰富的插件,插件多到可以直接配置出一个强大的IDE,但这样也就会拖慢VS Code的速度;最初使用VS Code是因为有些项目不是很重,使用的Go、Python、Nodejs等,开一个JB家的IDE犯不着,并且我很喜欢VS Code的Remote dev container,在我的M芯片上简直救我的命(很多库没arm版本);由于免费且用户数量巨大,所以社区异常活跃,我还没有碰到找不到解决方案的情况。

Cursor:由于Cursor依托于VS Code,基本和VS Code的情况一模一样,相对于Zed,它能支持VS Code的庞大插件群。(有佬反应,Cursor有的插件并不能和VS Code支持的一样好)
完善程度:VS Code > Cursor
使用感受:每个产品都有其独特的优势

AI

首先介绍大家相同的能力,基本都会提供代码补全和Chat的能力。

代码补全

Cursor的代码补全体验是最好的,不仅快,而且时常会出现连续补全的情况,这个时候你只要不停地按Tab键,AI会猜测你后边的代码编写和修改,一并提示补全,值得注意的是“修改”代码补全是Cursor才有的能力,只要Cursor触发这个连续Tab,没有人会不喜欢Cursor了。
Cursor > Copilot

Chat

三个软件都具有与当前代码上下文聊天的能力,其中Copilot和Cursor都对代码有embedding,可以自动调取上下文,上下文自动调取效果最好的我感觉是Copilot,能够非常精准的定位到我提问相关的代码,并且Copilot和Cursor都具有Apply的能力,也就是在Chat中的代码块能够自动以diff的方式映射到代码中

不分胜负

Inline Assitant

不同点

VS Code Copilot:与VS Code进行了深度集成,在Source Control的提交框里都能自动帮你总结代码修改的commit message,并且最近更新了4o之后,Chat飞快。

Cursor:提供了一个叫Composer的能力。这个能力被很多人称为杀手锏,也就是对整个项目提需求,然后AI会自动对多个文件进行编辑,我使用下来除了很简单的需求,复杂点的需求或者项目,AI完成的都不是很好,但是很简单的需求其实也能直接在Chat里完成了。不过这个能力肯定是随着AI模型的能力而水涨船高的,未来可期。但是Composer的能力其实可以用Aider进行替代。

Copilot > Cursor
加粗样式

价格

VS Code Copilot:Copilot的订阅价格为每月10美元。

Cursor:Cursor目前是20美元开Pro,Pro包含了无限补全和500次高级模型的调用。免费只能补全2000次,很快就用完了。最重要的是,Cursor的高级功能比如Apply、Composer等都是需要使用Cursor自己的模型才能够使用的。可以将自己的大模型提供商的模型名称映射为Cursor支持的模型就能用自己的API来完成Apply、Composer之类的功能,比如我就将Deepseek Coder映射为gpt4o然后就可以使用对应的高级功能了。

Copilot > Cursor

潜力

VS Code Copilot:作为3位选手中,当前市场最好的编辑器,Copilot只要把自己的体验向Cursor无限靠拢,凭借低价格和多IDE使用,加之没有太多的限制,肯定是能够继续稳坐老大的位置的,至于非常新颖的交互方式,Github也一直在探索,最近出的Copilot Workspace就是其中之一,能够直接在Github的仓库里让AI来完成任务。

Cursor:Cursor的潜力在于其独特的用户交互设计和Composer功能。Cursor Tab独一档的补全体验和Composer站在大模型智力的肩膀上只会越来越强,而且还有Shadow Workspace这种新颖的点子,以后也是能力非凡的。

Cursor > Copilot

优缺点总结

VS Code Copilot:

  • 优点:功能强大,插件丰富,AI能力出色,社区活跃,多IDE支持,价格相对合理。
  • 缺点:插件过多可能影响性能,部分高级功能需要付费。

Cursor:

  • 优点:独特的用户交互设计,出色的代码补全体验,Composer功能潜力大,支持VS Code插件。
  • 缺点:价格较高,高级功能需使用Cursor自有模型,部分复杂需求处理能力有限。

在这里插入图片描述

总结与建议

  • 追求功能全面和成熟稳定的体验,选择 VS Code Copilot。
  • 追求独特交互体验和尝鲜,项目复杂度不高并且不差钱,选择 Cursor。

参考:https://www.xiejingyang.com/2024/09/01/vs-code-copilot-and-zed-ai-and-cursor/

相关文章:

VS Code Copilot 与 Cursor 对比

选手简介 VS Code Copilot:算是“老牌”编程助手了,虽然Copilot在别的编辑器上也有扩展,不过体验最好的还是VS Code,毕竟都是微软家的所以功能集成更好一些;主要提供的是Complete和Chat能力,也就是代码补全…...

蓝桥杯嵌入式备赛教程(1、led,2、lcd,3、key)

一、工程模版创建流程 第一步 创建新项目 第二步 选择型号和管脚封装 第三步 RCC使能 外部时钟,高速外部时钟 第四步晶振时钟配置 由数据手册7.1可知外部晶振频率为24MHz 最后一项设置为80 按下回车他会自动配置时钟 第五步,如果不勾选可能程序只会…...

取多个集合的交集

1.我们取多个集合的交集&#xff0c;先把各个集合放入list中 List < Set < String > > listnew ArrayList<>();HashSet<String> set1new HashSet<>();set1.add( "A" );set1.add("B" );set1.add("C" );HashSet<…...

如何实现电子发票XML文件的合规性存档?

随着国家税务改革的推进&#xff0c;企业对电子发票的管理和存档要求越来越高。尤其是《财政部 国家税务总局关于进一步深化增值税发票管理改革的通知》&#xff08;财会〔2023〕18号文&#xff09;的发布&#xff0c;明确规定了电子发票的存档要求。这为企业在财务管理中的电子…...

IOT、MES、WMS、MOM 和 EPMS 系统综合技术与业务文档

IOT、MES、WMS、MOM 和 EPMS 系统综合技术与业务文档 一、引言 在现代制造业和工业管理领域&#xff0c;IOT&#xff08;物联网&#xff09;、MES&#xff08;制造执行系统&#xff09;、WMS&#xff08;仓库管理系统&#xff09;、MOM&#xff08;制造运营管理系统&#xff…...

IntelliJ IDEA Docker集成

一、概述 Docker是一种用于在隔离和可复制环境中部署和运行可执行文件的工具。这可能很有用&#xff0c;例如&#xff0c;在与生产相同的环境中测试代码。 IntelliJ IDEA集成了Docker功能&#xff0c;并为创建Docker映像、运行Docker容器、管理Docker Compose应用程序、使用公…...

【react项目】从零搭建react项目[nodejs安装]

〇、模板git下载地址 下载即用的模板地址&#xff1a; http:https://e.coding.net/uijiio/init_app/react_init_app.git ssh:gite.coding.net:uijiio/init_app/react_init_app.git 目前更新至:登录与主页跳转&#xff0c;主页包含菜单和容器区 一、搭建基础空白React项目 1.准备…...

【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38654 在当今时代背景下&#xff0c;社会发展日新月异&#xff0c;人们的生活方式与消费观念正经历深刻变革。MoonFox 月狐数据的《2024 年悦己生活消费洞察报告》聚焦于这一充满活力与变化的消费领域。随着就业、婚姻等社会压力的…...

Github——网页版上传文件夹

第一步&#xff1a;创建一个新的仓库或进入已存在的仓库页面 第二步&#xff1a;点进对应的文件夹下&#xff0c;然后 点击 “Upload files” 第三步&#xff1a;将文件夹拖拽到上传区域 打开资源管理器&#xff0c;将要上传的文件夹从计算机中拖拽到上传区域。 注意&#xf…...

LMDeploy 量化部署进阶实践

1 配置LMDeploy环境 1.1 InternStudio开发机创建与环境搭建 打开InternStudio平台&#xff0c;进入如下界面创建环境 在终端中&#xff0c;让我们输入以下指令&#xff0c;来创建一个名为lmdeploy的conda环境&#xff0c;python版本为3.10&#xff0c;创建成功后激活环境并安…...

MFC/C++学习系列之简单记录9——简单加法

MFC/C学习系列之简单记录9——简单加法 前言界面设计控件添加添加变量添加事件 后台代码总结 前言 基本的一些使用已经了解&#xff0c;那么就做个简单的加法来练手吧&#xff01; 界面设计 控件添加 在工具箱中选择Edit control和Static Text两个控件&#xff0c;分别设置为…...

二分查找题目:两球之间的磁力

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;两球之间的磁力 出处&#xff1a;1552. 两球之间的磁力 难度 5 级 题目描述 要求 在代号为地球 C-137 的世界中&#xff0c;Rick 发现如果他将两个…...

OpenCV相机标定与3D重建(28)估计两个三维点集之间的最优平移变换函数estimateTranslation3D()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算两个3D点集之间的最优平移。 它计算 [ x y z ] [ X Y Z ] [ b 1 b 2 b 3 ] \begin{bmatrix} x\\ y\\ z\\ \end{bmatrix} \begin{bmatri…...

UE5仿漫威争锋灵蝶冲刺技能

这两天玩了一下漫威争锋Marvel Rivals&#xff0c;发现是UE5做的&#xff0c;对里面一些角色技能挺感兴趣的&#xff0c;想简单复刻一下技能功能&#xff0c;顺便复习一下学过的知识 首先把摄像机设置调整一下 CameraBoom里搜索lag 把摄像机延迟关掉 &#xff0c;这样摄像机就…...

CSS盒子模型(溢出隐藏,块级元素和行级元素的居中对齐,元素样式重置)

overflow&#xff1a;值 规定了内容溢出元素框时所发生的事情 visible&#xff1a;内容不会被修剪&#xff0c;会显示在元素框之外&#xff0c;默认值 overflow: visible; hidden&#xff1a;内容会被修剪&#xff0c;溢出内容不可见 overflow: hidden; scroll&#xff1a;内…...

语音增强的损失函数选择

一、最优尺度不变信噪比&#xff08;OSISNR&#xff09;损失函数 参考&#xff1a;论文解读 --Optimal scale-invariant signal-to-noise ratio and curriculum learning for monaural multi-spea   最优尺度不变信噪比&#xff08;OSI-SNR&#xff09;是一种用于评估信号质量…...

【python自动化六】UI自动化基础-selenium的使用

selenium是目前用得比较多的UI自动化测试框架&#xff0c;支持java&#xff0c;python等多种语言&#xff0c;目前我们就选用selenium来做UI自动化。 1.selenium安装 安装命令 pip install selenium2.selenium的简单使用 本文以chrome浏览器为例&#xff0c;配套selenium中c…...

【习题答案】让您的应用拥有领先的位置服务能力

判断题 1.在使用&#xff08;逆&#xff09;地理编码前&#xff0c;需要使用isGeocoderAvailable检查服务状态。 正确(True) 错误(False) 2.当同时配置定位场景和优先级策略时&#xff0c;会优先使用优先级策略。 正确(True) 错误(False) 单选题 1.获取精准定位需要申请哪个权…...

java中list和map区别

在Java中&#xff0c;List和Map是两种不同类型的集合接口&#xff0c;它们用于不同的场景并且具有不同的特性和用途。以下是List和Map的主要区别&#xff1a; 1. 数据结构 List&#xff1a;是一个有序的集合&#xff0c;允许重复元素。它实现了Collection接口&#xff0c;并且…...

java后端传时间戳给前端的三种方式

一. 后端传时间戳给前端的几种方式 使用System.currentTimeMillis() 这是最简单的方式&#xff0c;返回自1970年1月1日&#xff08;UTC&#xff09;以来的毫秒数&#xff0c;可以直接传递给前端。 long timestamp1 System.currentTimeMillis();使用java.time.Instant Java…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...