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/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基础元器件的学习

1、二极管 1.1二极管的符号 ZD是稳压二极管 VD、V、D是普通二极管的符号。 1.2二极管的反向恢复时间 首先交流电为上正下负,然后下正上负。当二极管接到反向电压,二极管存在寄生电容,电压不能立刻突变,当输入频率变高时&#…

unipp中使用阿里图标,以及闭坑指南

-----------------------------------------------------点赞收藏才是更新的动力------------------------------------------------- unipp中使用阿里图标 官网下载图标在项目中引入使用注意事项 官网下载图标 进入阿里图标网站 将需要下载的图标添加到购物车中 2. 直接下载…

QtCreator配置github copilot实现AI辅助编程

文章目录 1、概述2、配置环境3、演示 1、概述 新时代的浪潮早就已经来临,上不了船的人终将被抛弃,合理使用AI辅助开发、提升效率是大趋势,注意也不要过于依赖。 2024年12月18日,GitHub 官方宣布了一个激动人心的重大消息&#xf…

web实操8-cookie

会话技术 会话: 一次会话中包含多次请求和响应。 客户端浏览器访问服务器的资源,只要客户端或者服务器端不关闭,这始终在一次会话范围内,这一次会话范围内可以包含多次请求并且收到多次相应。 一次会话:浏览器第一…

深度学习之超分辨率算法——SRCNN

网络为基础卷积层 tensorflow 1.14 scipy 1.2.1 numpy 1.16 大概意思就是针对数据,我们先把图片按缩小因子照整数倍进行缩减为小图片,再针对小图片进行插值算法,获得还原后的低分辨率的图片作为标签。 main.py 配置文件 from model im…

Javaweb 在线考试系统

🥂(❁◡❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞 💖📕🎉🔥 支持我:点赞👍收藏⭐️留言📝欢迎留言讨论 🔥🔥&…

Qt for Python (PySide6)设置程序图标和任务栏图标

环境 使用Qt for Python开发Windows应用程序。 Python版本:3.12 Qt版本:PySide6 前言 先上一个简单的测试程序 from PySide6.QtWidgets import QMainWindow,QLabel,QApplication from PySide6 import QtGui import sysclass MainWindow(QMainWindow)…

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson,引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串,效果如下: json字符串 {"1": &q…

Windows平台C++部署 vcpkg 安装protobuf + gRPC实现图像传输

vcpkg 安装 https://github.com/microsoft/vcpkg.git.\bootstrap-vcpkg.bat vcpkg --version参考:Windows安装vcpkg教程(VS2022) protocbuf 安装与编译 vcpkg install grpc:x64-windowsprotocbuf 安装与编译 vcpkg install protobuf proto…

ScottPlot学习的常用笔记-02

ScottPlot学习的常用笔记-02 写在前面Why&Target:这里记一些杂项。上下文&背景 先记一下这几个小时的新收获先说一下,为什么可开发可视工具缩放的问题ScottPlot5.0起步.net Core: WinExe.Net Framework也是可以的 写在前面 Why&Target&…

CTF_1

CTF_Show 萌新赛 1.签到题 <?php if(isset($_GET[url])){system("curl https://".$_GET[url].".ctf.show"); }else{show_source(__FILE__); }?> 和 AI 一起分析 1.if(isset($_GET[url]))检查GET请求中是否存在名为url的参数。 curl 2.curl…

【Spring】Spring框架之-AOP

目录 1. AOP的引入 2. AOP相关的概念 2.1 AOP概述 2.2 AOP的优势 2.3. AOP的底层原理--目前先不具体阐述&#xff0c;后面讲 3. Spring的AOP技术-配置文件方式 3.1 AOP相关的术语 3.2 基本准备工作 3.3 AOP配置文件方式的入门 3.4 切入点的表达式 3.5 AOP的通知类型 …

我的2024年度总结

称着这个周末&#xff0c;写一篇2024年度总结&#xff0c;主要记录我过去一年的成长经历以及自己的一些收获。 过去一年的经历&#xff0c;可谓刻骨铭心&#xff0c;一个是24考研惨败&#xff0c;一个是毕设的准备&#xff0c;一个是省考的陪考&#xff0c;一个是找工作的焦虑…

Java 中的字符串

目录 Java 中的字符串字符串的创建字符串的比较字符串的拼接如何定义一个空的字符串 Java 中的字符串 字符串的创建 在 Java 中&#xff0c;可以通过以下几种方式创建字符串&#xff1a; 1.使用字符串字面量&#xff1a; String str "Hello, World!";2.使用 new…

数说故事聚焦“卖车”场景,推出AI汽车销售转化解决方案

没错&#xff0c;“卖车”我们也在行&#xff0c;为某车企“保住”了新车上市的订单。 深耕汽车行业多年&#xff0c;该车企10月份刚发布一款新能源车&#xff0c;其前期已经拥有了大量的保有客户和线上多渠道获取的潜在客户&#xff0c;然而&#xff0c;仍面临两大难题&#x…

javaEE-多线程编程-3

目录 java 常见的包 : 回调函数: 什么是线程: 第一个线程: 验证多线程执行: 内核: 调用sleep()方法: 执行结果分析: 线程创建的几种方式: 1.继承Thread类,重写run()方法. 2.实现Runnable接口,重写run()方法. 3.继承Thread类,重写run()方法.但使用匿名内部类 4.实现…

FFmpeg 框架简介和文件解复用

文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用&#xff08;muxers&#xff09;和解复用&#xff08;demuxers&#xff09;容器格式FLVScript Tag Data结构&#xff08;脚本类型、帧类型&#xff09;Audio Tag Data结构&#xff08;音频Tag&#xff09;V…

芯片级IO (Pad) Ring IP Checklist

SoC top顶层数字后端实现都会涉及到IO Ring &#xff08;PAD Ring&#xff09;的设计。这里面包括VDD IO,VDDIO IO, Signal IO, Corner IO&#xff0c;Filler IO&#xff0c;IO power cut cell等等。 数字后端零基础入门系列 | Innovus零基础LAB学习Day2 数字IC后端实现TOP F…

圣诞快乐(h5 css js(圣诞树))

一&#xff0c;整体设计思路 圣诞树h5&#xff08;简易&#xff09; 1.页面布局与样式&#xff1a; 页面使用了全屏的黑色背景&#xff0c;中央显示圣诞树&#xff0c;树形由三层绿色的三角形组成&#xff0c;每一层的大小逐渐变小。树干是一个棕色的矩形&#xff0c;位于三角…

Linux应用开发————mysql数据库表

mysql数据库表操作 查看表的结构 mysql> desc / describe 表名; 或者&#xff1a; mysql> show create table 表名; 常见数据库引擎&#xff1a; innodb, myISAM... 删除表 mysql> drop tabl…