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/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63804.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63804.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63804.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java Spring Boot 項目中嵌入前端靜態資源:完整教程與實戰案例

言簡意賅的講解Java Spring Boot 中嵌入前端項目的靜態資源解決的痛點 之前給大家講解了如何部署一個前端項目,但大家還是好奇如何部署一個前后端一體項目。將前端構建后的靜態資源嵌入 Java Spring Boot 后端項目,是現代全棧開發中一種流行的實踐方式。…

R200推理

一、環境搭建 1.下載鏡像 wget https://bj.bcebos.com/klx- public/kdk/project/anyinfer_x86_output/20240316/anyinfer_x86_v5.tar.gz wget https://bj.bcebos.com/klxpublic/kdk/project/anyinfer_x86_output/20240316/anyinfer_x86_v5.tar.gz tar -zxvf a…

RabbitMQ中的Topic模式

在現代分布式系統中,消息隊列(Message Queue)是實現異步通信、解耦系統組件的重要工具。RabbitMQ 是一個廣泛使用的開源消息代理,支持多種消息傳遞模式,其中 Topic 模式 是一種靈活且強大的模式,允許生產者…

可編輯99PPT | 智能工廠整體規劃方案及實施細部方案

薦言分享:智能工廠是利用物聯網、大數據、人工智能等先進技術,實現生產過程自動化、智能化和柔性化的現代工廠。本整體規劃方案旨在通過整合信息技術、自動化技術、人工智能技術和物聯網技術,構建一個高效、靈活、綠色、可持續的生產環境&…

Day13 用Excel表體驗梯度下降法

Day13 用Excel表體驗梯度下降法 用所學公式創建Excel表 用Excel表體驗梯度下降法 詳見本Day文章頂部附帶資源里的Excel表《梯度下降法》,可以對照表里的單元格公式進行理解,還可以多嘗試幾次不同的學習率 η \eta η來感受,只需要更改學習率…

YOLOv8改進,YOLOv8引入Hyper-YOLO的MANet混合聚合網絡+HyperC2Net網絡

摘要 理論介紹 MANet 的目標是通過多種卷積操作的協同作用,提高特征提取能力,并加強梯度流動,從而提升模型在不同層次的特征表示和語義深度。MANet 結合了三種卷積變體,通過混合使用它們來提高視覺特征的多樣性和信息流動性。 HyperC2Net 的主要目標是通過超圖結構對多層次…

Nautilus源碼編譯傻瓜式教程二

Nautilus源碼編譯傻瓜式教程一 Nautilus編譯 依賴項文件 接上文,點擊小錘子進行編譯后出現如下的錯誤提示 看這個報錯,未找到文件或目錄,再看前面的git地址是github就知道肯定是下載有問題,查找下Nautilus項目,發現在nautilus/build-aux/flatpak/org.gnome.Nautilus.json文件…

Java中使用四葉天動態代理IP構建ip代理池,實現httpClient和Jsoup代理ip爬蟲

在本次爬蟲項目中,關于應用IP代理池方面,具體完成以下功能: 從指定API地址提取IP到ip池中(一次提取的IP數量可以自定義更改) 每次開始爬蟲前(多條爬蟲線程并發執行),從ip池中獲取一…

CEF127 編譯指南 MacOS 篇 - 拉取 CEF 源碼(五)

1. 引言 在完成了所有必要工具的安裝和配置后,我們進入到獲取 CEF 源碼的階段。對于 macOS 平臺,CEF 的源碼獲取過程需要特別注意不同芯片架構(Intel 和 Apple Silicon)的區別以及版本管理。本文將詳細介紹如何在 macOS 系統上獲…

梳理你的思路(從OOP到架構設計)_設計模式Factory Method模式

目錄 1、Factory Method模式 2、范例&#xff1a; Android FM(工廠)模式 3、Android里處處可見的FM模式的應用 1、Factory Method模式 誰來創建<T>的對象呢?例如&#xff0c; 剛才的Template Method模式內含一個EIT造形&#xff0c;那麼&#xff0c; 請問&#xff…

tauri桌面應用開發入門

簡介 tauri是一款基于web的桌面應用前端框架 因為使用webviews渲染,而不是像electron自帶一個瀏覽器內核,所以打包之后的空間更小,十幾mb 前端界面使用web,可以采取流行的框架,入react,vue等 前端后臺采用rust,彌補前端無法直接訪問操作系統,常用于訪問本地文件系統 官方中…

selenium 報錯 invalid argument: invalid locator

環境&#xff1a; Python3.12.2 selenium4.0 報錯信息&#xff1a; invalid argument: invalid locator 錯誤分析&#xff1a; selenium語法錯誤,find_element方法少寫By.XPATH參數 錯誤語法如下&#xff1a; driver.find_element(//div[id"myid"]) 解決辦…

ESP8266 WiFi模塊入門:搭建網絡與測試實踐

在物聯網&#xff08;IoT&#xff09;應用中&#xff0c;設備聯網是核心功能之一。而ESP8266串口WiFi ESP-01模塊是一款低成本、功能強大的UART-WiFi透傳模塊&#xff0c;廣泛應用于智能家居、工業控制等領域。本篇文章將從基礎出發&#xff0c;講解如何使用ESP8266模塊進行WiF…

框架問題學習

1、gin 1.1、gin框架路由是怎么處理的 在 Gin 中&#xff0c;路由是通過 gin.Default() 或 gin.New() 創建的 *gin.Engine 對象來管理的。gin.Default() 是 gin.New() 的一個封裝&#xff0c;它在創建路由對象時會自動添加一個默認的中間件&#xff08;如日志記錄、恢復中間件…

Java模擬Mqtt客戶端連接Mqtt Broker

Java模擬Mqtt客戶端基本流程 引入Paho MQTT客戶端庫 <dependency><groupId>org.eclipse.paho</groupId><artifactId>org.eclipse.paho.mqttv5.client</artifactId><version>1.2.5</version> </dependency>設置mqtt配置數據 …

電子電氣架構 --- 隊列刷寫場景及刷寫上位機淺析

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 所謂雞湯,要么蠱惑你認命,要么慫恿你拼命,但都是回避問題的根源,以現象替代邏輯,以情緒代替思考,把消極接受現實的懦弱,偽裝成樂觀面對不幸的…

springboot根據租戶id動態指定數據源

代碼地址 碼云地址springboot根據租戶id動態指定數據源: springboot根據租戶id指定動態數據源,結合mybatismysql多數源下的事務管理 創建3個數據庫和對應的表 sql腳本在下圖位置 代碼的執行順序 先設置主數據庫的數據源配置目標數據源和默認數據源有了主庫的數據源&#xff…

C++簡明教程(文章要求學過一點C語言)(3)

一、編程工具大揭秘——IDE 當我們準備踏入 C 編程的奇妙世界時&#xff0c;首先要認識一個重要的“魔法盒子”——集成開發環境&#xff08;IDE&#xff09;。IDE 就像是一個全能的編程工作室&#xff0c;它把我們寫代碼所需要的各種工具都整合到了一起&#xff0c;讓編程這件…

達夢官方工具 SQLark數據遷移(oracle->達夢數據庫)

應國產化需求需要,需將系統中涉及的各中間件替換成國產中間件,此文介紹了從Oracle遷移數據至達夢dm8的步驟,該文在windos環境下已驗證測試過 1 SQLark介紹 SQLark是一款專為信創應用開發者設計的數據庫開發和管理工具。它支持快速查詢、創建和管理多種類型的數據庫系統&#xf…

【JAVA】JAVA接口公共返回體ResponseData封裝

一、JAVA接口公共返回體ResponseData封裝&#xff0c;使用泛型的經典 例子 public class ResponseData<T> implements Serializable { /** * */ private static final long serialVersionUID 7098362967623367826L; /** * 響應狀態碼 */ …