Github Copilot 靠什么反擊 Cursor?
Github Copilot 在 AI 編程輔助工具方面處于一定的領(lǐng)先地位,截止目前還仍是用戶量最多的 AI 編程輔助工具產(chǎn)品,在這個賽道上商業(yè)化做的還是很成功的,以下是來自最新的 2024 JavaScript 現(xiàn)狀調(diào)查結(jié)果的數(shù)據(jù)統(tǒng)計,展示了 AI 工具上的用戶使用排名。
圖片
此前 Github Copilot 在商業(yè)化上是成功的,但是發(fā)展似乎有點緩慢,之前的體驗感不是特別的好(因為用了 Cursor 之后的對比吧)。
Github Copilot 主要是以插件的方式提供使用,但 Cursor 選了另一條路,直接魔改 VS Code,打造了自己的 AI IDE,用戶偏好和 VS Code 還是保持一致,無論從體驗上還是代碼的生成都給人一種很驚艷的感覺,特別是下半年到現(xiàn)在吧,很明顯感覺 Cursor 的勢頭很猛,身邊有些同事也開始從 Github Copilot 切換到 Cursor。
也許是 Cursor 給的壓力太大,以至于Github Copilot 近期還特意宣布推出免費版本,無需試用,無需訂閱,無需信用卡,即可直接使用。但每月有一定的額度限制,這一步也是逼不得已,再不來點大動作,用戶真的要流失了...
單靠這個肯定是不行的,有網(wǎng)友也說了這點免費額度根本不夠用,其實就是設計好了讓你不夠用的,哈哈,主要目的還是通過免費試用來吸引你升級到付費產(chǎn)品。
近期,Github Copilot 也更新了一些新功能,有些還是很不錯,下面給大家做個分享。
支持跨文件修改和應用
Github Copilot Edits模式支持跨多文件進行修改,生成的代碼可以直接應用,是真正能給你帶來體驗的改進。雖然和 Copilot Chat 都使用對話式界面,但有明顯區(qū)別,以下參考筆者另一篇文章尤大親自轉(zhuǎn)發(fā)點贊!Github Copilot Edits 有何魔力?
圖片
這里簡單給大家在總結(jié)下:
1. 新的 Copilot Edits 聊天窗口
在 Copilot Edits 聊天窗口可跨文件提出修改內(nèi)容,并自動創(chuàng)建新文件。
圖片
2. 將聊天會話轉(zhuǎn)移到 Copilot Edits
Copilot Chat 非常適合提出問題和探索一些想法,如果您準備好將這些建議應用到代碼時,可以快捷的將聊天會話轉(zhuǎn)移到 Copilot Edits,這樣你就可以在整個項目中應用所有更改,而不必從單個視圖中應用每個代碼塊
圖片
OpenAI 全新 o1 模型支持
Copilot Chat 的 Copilot Pro、Business 和 Enterprise 用戶,現(xiàn)在可以使用 OpenAI 的全新 o1 模型。
這個是 2024 年 12 月 20 日 剛支持。
圖片
除了最新的 o1 模型,還支持 Claude 或 GPT-4o 切換。
終端支持 Copilot Chat
這個功能很實用的,終端命令太多記不住,我想這個問題,大多數(shù)開發(fā)者應該都有此困惑。
現(xiàn)在 VS Code 終端支持 Github Copilot Chat 模式(command/ctrl + i 快捷鍵打開),在終端直接輸入自然語言進行提問,例如 “commit 修復組件樣式”,如下所示,直接把完整的 git 命令都很給你寫好了。
圖片
@workspace 感知整個項目上下文
使用 @workspace 可以讓 Github Copilot 理解整個項目的代碼,通過上下文的分析,給的建議也相對更準確。
圖片
內(nèi)置語音插件
Github Copilot Chat 模式還支持語音哦,不想打字了,直接語音對話。
語音對話第一次使用會默認安裝擴展VS Code Speech。
圖片
內(nèi)置 copilot-debug 命令,讓調(diào)試更簡單
在 VS Code 終端現(xiàn)在提供了 copilot-debug 命令,該命令會根據(jù)你的項目自動生成調(diào)試需要的配置,讓調(diào)試更簡單了,開發(fā)者只需要專注于代碼和設置調(diào)試斷點。
如下所示,輕松實現(xiàn)調(diào)試 Node.js 代碼
圖片
自定義消息指令
例如,你的項目有一些屬于自己的規(guī)范,你期望 Github Copilot 能按照你的規(guī)范來生成代碼,這個功能就很實用,只需要在統(tǒng)一的地方定義一次,Copilot 就可以將這些指令應用于聊天,生成代碼時就會按照我們自定義的規(guī)范走。
一種方式是可以在項目的.github/copilot-instructions.md 文件中定義要生成的代碼規(guī)范,如下所示:
總是使用 React 函數(shù)式組件,一個文件內(nèi)的主要導出組件,使用格式 export function Component() {}
當我們輸入提示詞后,得到的輸出結(jié)果如下所示
圖片
面對 Cursor 給的壓力,Github Copilot 也在奮力反擊,看完上述功能,你感覺 Github Copilot 這波能頂住 Cursor 給的壓力嗎?