軟件工程師最愛的IDE,背後原因解析

Ai

軟件工程師喜愛的IDE及其原因

距離我們對軟件工程師使用的AI工具進行調查已經快六個月了,當時在迷你系列《軟件工程師的AI工具:現實檢查》中,最受歡迎的工具是用於大型語言模型的ChatGPT和集成在IDE中的GitHub Copilot。今年夏天,我注意到Cursor IDE的受歡迎程度上升,正值Anthropic的Sonnet 3.5模型發布,這個模型在代碼生成方面比ChatGPT更為優越,Cursor也開始使用這個改進的模型。

為了解開發者的偏好是否有所變化,我詢問了以下問題:

「如果你是一位開發者,你最喜愛的編碼編輯器是什麼,並且具備哪些GenAI功能(能幫助你的工作)?它的突出之處是什麼?」

我在Bluesky、X和Threads上發佈了這個問題,收到了145條詳細的回應。我們在下面將進一步探討。

與所有研究一樣,我們與提到的任何供應商沒有關聯,也沒有獲得任何報酬來提及他們。詳情可見我們的倫理政策。

數據來源

大多數回應來自Bluesky和X,值得注意的是,最近Bluesky上活躍的開發者似乎持續增多,相比之下X的活躍度有所下降。關於Bluesky受歡迎的情況,我們在下面的行業脈搏部分會進一步探討。

在155條回應中,77條來自Bluesky,62條來自X,16條來自Threads。這些數據可能偏向於早期技術採用者和非企業用戶,因為我是在社交媒體上發佈的,並且是自選的活躍於這些平台的軟件工程師,他們可能對新工具有所了解並願意採用它們。來自較小公司的開發者的回覆較多,而來自大公司的回應則相對較少。

早期採用者的數據往往能指示工具創新的方向。然而,許多早期採用者使用的工具最終並未成為主流,通常是因為現狀供應商在新競爭者能夠吸引大量顧客之前,已經為客戶調整了自己的工具。在這種情況下,「主流」的IDE包括Visual Studio、Visual Studio Code和JetBrains IDEs,而意圖顛覆現狀的則是過去幾年內推出的新IDE初創公司。

最受歡迎的IDE

開發者提到的最喜愛的IDE,按提及數量排名如下:

1. **Cursor**:一款以AI為核心的代碼編輯器,迅速獲得人氣。
2. **Visual Studio Code**搭配GitHub Copilot:大多數使用微軟免費IDE的受訪者報告稱在此IDE中使用GitHub Copilot。Visual Studio Code支持許多擴展,例如Supermaven和Cline(見下文)。
3. **JetBrains IDE**搭配GitHub Copilot:JetBrains製作特定語言的IDE,提到的包括IntelliJ、PyCharm、PHPStorm和RubyMind。
4. **Windsurf Editor**:由Codeium於兩週前發布的「代理IDE」,迅速吸引用戶。
5. **Zed**:一款為AI協作設計的下一代代碼編輯器。
6. **Neovim**搭配Copilot:Neovim是一個基於Vim的文本編輯器,支持多種擴展,包括GitHub Copilot。
7. **Supermaven**:雖然不是IDE,但是一個AI補全工具,可以在VS Code或JetBrains IDE中使用。它在上週被Cursor收購,這筆交易看起來相當明智。
8. **Aider**:一個基於終端的配對編程助手,並非IDE。使用Aider的用戶通常會並行使用一個IDE。
9. **Cline**:一個擴展,而非IDE,這是一個自動化編碼代理,集成到IDE中。

在「其他」類別中有一些提及的IDE包括:

– **Cody by Sourcegraph**:一個編碼助手,集成到Visual Studio和JetBrains IDE中。
– **v0 by Vercel**:一個專注於前端項目生成(React和NextJS項目)的文本到設計界面。
– **Replit AI Agent**:一個與AI代理一起工作的IDE,用於生成代碼。
– **Bolt.new by Stackblitz**:從單個提示創建全棧網絡應用。
– **Neovim Avante**:一個旨在模擬Cursor AI IDE行為的Neovim插件。
– **Eclipse Theia**:一個開源IDE,最近推出了AI支持。
– **Augment Code**:一個為團隊設計的AI平台。
– **Continue.dev**:一個開源AI助手。
– **Pear**:一個開源AI編輯器。

定價:所有工具都大幅補貼嗎?

所有這些工具都利用AI模型來生成代碼,而這些操作是需要投入成本的!即便如此,幾個工具是免費的——但使用有限;即使是付費價格,對於專業開發者工具來說也相當合理。

免費工具(基本使用):

– Zed(在初始啟動期間,簽入用戶免費)
– Cursor(兩週試用)
– Windsurf(個人免費計劃)
– v0 by Vercel(個人免費計劃)
– Replit AI Agent(入門計劃)
– Cody(免費計劃)
– Bolt.new(感恩節期間提供200萬免費代幣)
– Jetbrains AI(7天試用)

針對專業級功能,每月費用在$10-$30之間的工具:

– Cody(每月$9,專業計劃)
– GitHub Copilot(每月$10,個人計劃)
– JetBrains AI(每月$10,專業計劃)
– Replit AI Agent(每月$15,核心計劃)
– Stackblitz(每月$18,專業計劃)
– Cursor(每月$20,專業計劃)
– v0 by Vercel(每月$20)
– Claude(每月$18,專業計劃)或ChatGPT(每月$20,Plus計劃):使用Aider、Cline或Eclipse Theia等工具時,或在某些工具中使用你喜愛的模型時必須訂閱。

團隊和企業價格在所有工具中更貴,通常是個人費用的兩倍。幾個工具增加了企業功能,如強制隱私、管理儀表板、集中計費等。

唯一一個每月超過$30的工具是Augment Code,收費為每位開發者$60。假設使用這個工具能帶來生產力提升,即使這個價格也算是划算的。

因此,這些價格給人的感覺是供應商在大幅補貼,可能以虧損的方式提供功能。免費或低價提供GenAI功能意味著供應商必須從其他收入來源資助這些模型所需的基礎設施。

可以合理預期,隨著時間的推移,生成代幣的成本會降低。然而,現在任何大量使用代碼生成的工程師在大型代碼庫上都能獲得物有所值的體驗。

接下來,我們來看看最受歡迎的IDE初創公司,以及為什麼工程師偏愛它們而非像VS Code這樣的傳統工具。

Cursor

這家AI IDE初創公司成立於2022年,並在2023年3月發布了他們的第一版IDE。我感覺Cursor的受歡迎程度在2023年7月左右開始上升,當時他們加入了Sonnet 3.5模型的支持並將其設為默認。

以下是開發者Roman Tsegelskyi分享的Cursor成為他最愛IDE的幾個原因:

「即使在試過競爭對手之後,我仍然喜歡Cursor。小細節突出:

1. Cursor的規則,以及保存上下文的能力。
2. 相較於競爭對手的快速應用。
3. Composer。

總體來說,我覺得Cursor為我產生了更好的結果。然而,我也無法完全理解為什麼!」

Composer是一個多位工程師提到的Cursor的主要使用理由。這是一個類似AI代理的功能,可以在多個文件中工作,根據提示描述的功能執行指令。以下是一位iOS開發者Thomas Ricouard的例子,他指示Composer將一個iOS應用屏幕上的關鍵視圖提取為獨立的視圖,工具成功完成了這一任務。

其他對開發者有用的功能包括:

– 更好的代碼生成:Cursor選擇將Sonnet 3.5作為默認模型似乎是明智的決定。GitHub Copilot似乎在三週前也做出了回應,放棄了與OpenAI的獨占性,允許開發者使用Anthropic最新的LLM模型進行代碼生成。
– 速度快:許多開發者反映Cursor的速度比其他工具快。
– 聊天功能:幾位開發者喜歡專用的聊天窗口,可以在不離開開發環境的情況下與LLM互動。
– 易於行內編輯:輕鬆選擇多行,然後給AI添加編輯指令。
– 熟悉的界面:作為Visual Studio Code的分支,界面對所有VS Code用戶來說都是熟悉的。
– 模型切換:這顯示出不同LLM的工作方式,開發者可以選擇最合適的模型。

不過,也有一些開發者在使用Cursor一段時間後轉向其他工具。最常見的抱怨是Cursor提供的建議過多且過於頻繁,讓人感到過於干擾。

Windsurf

這是一款最近發布的AI代碼編輯器,由Codeium開發。我感覺它的受歡迎程度與Cursor剛推出時類似,但現在Cursor成為了比較對象。Windsurf專注於進一步改善與GenAI的協作流程,並擁有更易於追蹤AI行為的界面。

技術人員表示,Windsurf在調試過程中尤其有幫助,能夠保持人們在編碼過程中的參與,並主動提供對混亂代碼庫的重構建議。

Cascade是Windsurf的一個「殺手級」功能。類似於Cursor的Compose,Cascade是一個代理聊天機器人,可以在多個文件中協作。它有「編寫代碼」和「聊天」模式,還能運行終端命令。

以下是前產品經理Amul Badjatya對Cursor和Windsurf的比較,他在過去8週中使用了超過30小時的Windsurf和超過150小時的Cursor(兩者均為高級訂閱):

1. Windsurf的Cascade工作流程優於Cursor的Compose工作流程,索引和代碼上下文更佳。Cursor在這方面表現不佳,而Windsurf表現優異,特別是在代碼庫快速發展的情況下。
2. Windsurf的Cascade可以運行終端命令,而Cursor的Compose則無法。這一點很重要,因為從終端複製粘貼內容不再會打斷你的工作流程。
3. Cursor的Claude在編碼30-60分鐘後會「疲倦」,而Windsurf的Claude在最初幾小時內質量更穩定。為了保持AI功能的響應性,經常需要多次重啟Cursor。
4. Cursor有一個@web標籤,幫助你吸收最新的在線信息,而Windsurf則沒有。
5. 我無法在Cursor的Compose上更新Markdown文件(.md文件)。這些文件總是部分更新,部分更新在聊天中。我在使用其他模型時也遇到類似問題:它們不是修改文件,而是在聊天中回覆。

由於@web功能,我目前在Cursor上進行非代碼研究工作,而我的代碼相關工作主要依賴Windsurf。我在等待Cursor的代碼索引改進。

這兩個工具遠遠超過了我使用的Copilot或其他插件。我非常喜歡這兩者。

在看到新IDE如此受歡迎的情況下,我聯繫了Windsurf團隊以獲取有關他們創新工具開發的更多信息。他們的回應是:

Windsurf的團隊有多大?

「整個工程團隊超過50人。產品工程、研究和基礎設施必須共同合作,才能創造出Windsurf的體驗——特別是Cascade。」

團隊是如何構思出Cascade的?

「我們從現有的AI使用範式開始:

Copilot因其與開發者的協作性而優秀;人類始終在過程中。然而,為了保持人類的參與,copilot通常被限制在短期任務內。
代理則是因為AI可以獨立迭代以完成更大的任務。這種權衡的結果是你失去了協作的方面,這就是為什麼我們還沒有看到代理IDE(至今仍未出現)。IDE會過於繁瑣。
無論是copilot還是代理都很強大,但一般被視為互補,因為它們的優勢和劣勢確實是互補的。

Cascade的想法源於一個問題:「如果AI能擁有兩者的優勢,能夠同時協作和獨立呢?這種特質是人類的特殊之處之一。

我們知道,為了使這一切運作,我們需要一系列專門設計的模型,延遲必須非常低,以便這些代理感覺到「合作性」,我們必須找到合適的方式來結合知識源、工具調用和實時跟踪開發者行為。這些都是需要解決的研究問題,以實現我們稱之為Flows的新範式。Cascade是聊天的流程演變,但這僅僅是開始。」

Cascade使用哪種LLM?

「我們使用多個模型集。一些是第三方模型,如Anthropic或OpenAI的,用於某些長上下文推理步驟,而我們還有其他模型用於基於LLM的檢索、快速應用代碼更改等。」

你們是否使用Windsurf來構建Windsurf?

「是的!許多核心功能都是使用Windsurf構建的!在分支VS Code時,Windsurf對於幫助開發者快速導航新代碼庫並進行更改起到了巨大的助推作用。」

能否舉例說明使用Windsurf的大型代碼庫,以及其規模?

「Super.com的共同創始人Henry Shi在他們的大型代碼庫上使用了它,該代碼庫擁有數百萬行代碼,支持他們在10多個域名上的前端。」

Zed

這款IDE於2023年3月公開發布,與Cursor同月推出。該工具由14名核心開發者組成,是少數幾個為註冊用戶提供免費無限制AI補全的AI工具之一,這要歸功於與Anthropic的合作。這一功能未來肯定會成為付費產品。

以下是軟件工程師及創始人Siddhart Jha喜愛Zed的原因:

「提供特定文件給AI上下文窗口、選擇模型、使用Copilot/Supermaven的補全都很容易。我喜歡AI功能不會過於干擾,直到需要時才會出現。」

開發者喜愛Zed的其他原因包括:

– 非常好的Vim模式:對於偏好這種用戶界面的工程師來說,Zed似乎是受歡迎的編輯器選擇。
– 快速:經常被讚譽為編輯器和LLM響應都非常敏捷。Zed團隊為Anthropic模型實施了提示緩存,以獲得速度提升。
– 鍵位映射:編輯器可以配置為使用你習慣的IDE的鍵位映射,無論是JetBrains、Sublime Text、VSCode還是其他,這使得對於習慣JetBrains IDE的開發者來說,切換非常方便。
– 多個模型:編輯器與多個LLM良好集成。
– Zed配置:這些文件可以輕鬆共享。以下是一個示例文件。

對Visual Studio Code和JetBrains IDE的觀察

堅持使用Visual Studio Code或JetBrains的工程師似乎主要使用代碼自動完成功能。Cursor和Windsurf的「驚艷」時刻在於它們的多文件編輯和代理能力。沉迷於這些功能的開發者似乎不會想回到GitHub Copilot和大多數AI集成於Visual Studio Code和JetBrains IDE所提供的更有限的體驗。

雖然有像Cline這樣的插件可以跨多個文件工作,但用戶體驗仍然較為有限,僅限於作為擴展,與Cursor和Windsurf基於這些功能構建的新型IDE相比,顯得不足。

JetBrains AI在哪裡?

關於JetBrains的一個有趣觀察是,大多數使用其IDE的開發者也在使用GitHub Copilot作為LLM,儘管JetBrains提供了自己的JetBrains AI。該服務的價格與Copilot完全相同,因此預期使用JetBrains IDE的開發者會使用提供的LLM工具。但情況似乎並非如此。工程師反映JetBrains AI的表現不如競爭對手,特別是在代碼攝取方面效率不高。

考慮到AI助手持續改進,當JetBrains改進其AI性能時,它可能會重新吸引已經使用其IDE的客戶。

這是IDE革命嗎?

在18個月內,許多IDE相繼推出並獲得勢頭,創新並未結束。

預計還會有更多初創公司推出新的AI驅動的IDE。有幾家AI初創公司已經籌集了數億美元,尚未釋出面向公眾的產品,包括:

– **Magic.dev**:這家隱形生成AI初創公司在8月籌集了3.2億美元的資金,前谷歌CEO Eric Schmidt也參與了投資。該公司尚未推出產品,但正在開發新項目。
– **Cognition AI**:開發「AI開發者」Devin的團隊在8月籌集了1.75億美元,尚未向公眾推出產品。

不要低估微軟的實力。我驚訝於Cursor的受歡迎程度遠超Visual Studio Code和GitHub Copilot,因為微軟擁有強大的品牌、優越的分銷能力,並且這家科技巨頭似乎在2021-2024年期間在GitHub Copilot的執行上優於GenAI初創公司。

GitHub甚至在3月預覽了GitHub Workflows,這本應是Copilot的進化,並將為Visual Studio帶來代理行為。但自那時以來似乎發生了一些事情。GitHub似乎「卡住」了,感覺仍在使用過時的LLM模型(GPT 4.0),未能對Cursor的Composer和Windsurf的Cascade等功能作出反應。

同時,微軟在這場AI驅動的IDE競爭中仍處於優越的戰略位置:

幾乎所有「獲勝」的IDE都是建立在Visual Studio Code之上的。Cursor和Windsurf都是VS Code的分支。這意味著微軟可以迅速將這些分支創造的創新整合進Visual Studio Code和Visual Studio中。這一開發工作只需幾個月,而非幾年。
GitHub團隊保持靈活,當然會迅速作出反應。當微軟收購GitHub時,並未將該組織整合進微軟,而是讓其相對獨立運作。這意味著GitHub團隊能夠在需要時快速行動。GitHub Copilot已經添加了對更先進LLM模型如Sonnet 3.5的支持。

微軟的分銷優勢不會消失。沒有其他大型公司可以像微軟那樣向更大的公司銷售企業工具。為了保持其成為最受歡迎的AI驅動IDE供應商,微軟不需要在市場上是最好的,因為與微軟企業交易的大型公司將更容易轉向Visual Studio和GitHub Copilot,而非初創公司的工具。

Zed是一個有前途的方向,證明從零開始仍然是可能的。在流行的IDE中,Zed是唯一一個非Visual Studio Code的分支。該IDE是從頭開始構建的,使用Rust編寫。Zed挑戰了如今的傳統智慧:要建立一個獲得採用的IDE,不分支Visual Studio Code似乎是不明智的。

AI驅動的IDE正處於「蓬勃創新」的階段。出現了這麼多AI驅動的IDE,因為有機會捕捉到開發者市場的一大部分;這是一個年收入數十億美元的市場,技術專業人士願意為提高產出的高級工具付費。

顯然,微軟在Cursor、Windsurf、Zed等初創公司的創新中被超越,這些公司都在豐富的投資下努力成為AI時代的下一個JetBrains。同時,JetBrains是全球第二大IDE工具製造商,擁有1600萬開發者使用其產品;因此,它已經是一個相當大的目標。

祝所有團隊在構建創新IDE的過程中一切順利。作為一名軟件工程師,為何不試試一些新的挑戰產品;它們可能會幫助提高生產力,讓日常工作變得更加輕鬆!

訂閱我的每週新聞簡報,獲取類似的文章到你的郵箱。這是一個相當不錯的閱讀體驗——也是Substack上第一的科技新聞簡報。

《務實工程師播客》
與經驗豐富的工程師和技術專業人士深入交流,他們分享自己辛苦獲得的教訓、有趣的故事以及在構建軟件時的建議。

在Spotify、Apple、YouTube或網絡上收聽。

《軟件工程師指南》
我寫了《軟件工程師指南》。以下是資深首席工程師及《員工工程師之路》作者Tanya Reilly對此書的評價:

「從績效評估到P95延遲,從團隊動態到測試,Gergely揭示了軟件職業生涯的各個方面。這本書名副其實:它的確感覺像是整個行業缺失的指南。」

在這裡獲得這本書。

年度會議演講
我每年進行一次會議演講。在2024年,這是Craft Conference的主題演講。你現在可以在線觀看完整演講:

2024年的軟件工程行業:兩年內發生了什麼變化,為什麼,以及接下來會發生什麼。

以上文章由特價GPT API KEY所翻譯及撰寫。而圖片則由FLUX根據內容自動生成。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *