Skip to content

AI 編碼工作流升級:從 Copilot 到 Cursor

上半年寫了 Copilot 半年使用報告。下半年的變化更大——Cursor 出現了,AI 編碼從"補全工具"變成了"編碼夥伴"。

Copilot vs Cursor

Copilot 是程式碼補全工具,Cursor 是 AI-native 編輯器。兩者的定位完全不同:

Copilot:  在你寫程式碼時給你建議,你來決定接不接受
Cursor:   整個編輯器圍繞 AI 設計,你描述意圖,AI 來改程式碼

Cursor 的核心功能

Cmd+K:自然語言編輯

選中一段程式碼,按 Cmd+K,輸入指令:

把這段邏輯提取成一個 custom hook,
返回 { data, loading, error, refetch }

Cursor 會直接改程式碼,不只是給建議。而且它能看到專案上下文,生成的程式碼會引用專案裡已有的型別和工具函式。

Cmd+L:對話模式

類似 ChatGPT,但能感知整個專案:

Q: 這個元件的效能問題在哪?
A: PostList 元件每次渲染都建立新的 filter 函式,
   建議用 useMemo 包裹。另外 db.post.findMany
   缺少分頁引數,大數據量時會全量載入。

   [Generate fix]

點選 "Generate fix" 直接應用修改。

Codebase 索引

Cursor 會索引整個專案程式碼。問它"這個專案裡怎麼處理錯誤的",它能搜尋並總結全域性的錯誤處理模式。

實際使用體驗

適合的場景

重構程式碼(最高效)

選中 200 行舊元件 → Cmd+K
"重構成函式元件,用 TypeScript,新增型別定義"

10 秒後得到重構後的程式碼,型別定義完整。
手動調整幾個細節就完成了。

生成重複性程式碼

"根據 UserSchema 生成對應的 API CRUD handler"
"根據這個 mock 資料生成對應的測試用例"

理解陌生程式碼

選中一段沒看過的庫程式碼 → Cmd+L
"這段程式碼在做什麼?為什麼這樣寫?"

不適合的場景

複雜業務邏輯

AI 不理解業務背景,生成的邏輯可能看起來合理但實際有坑。

架構決策

"這個專案應該用 monorepo 還是 polyrepo" 這種問題 AI 給不出好的答案。

需要精確控制的程式碼

比如安全相關的程式碼、效能關鍵路徑,AI 生成的程式碼需要更多審查。

和 Copilot 組合使用

我的實際工作流:

1. Copilot 負責日常程式碼補全(Tab 鍵接受)
2. Cursor Cmd+K 做有方向的程式碼修改
3. Cursor Cmd+L 做程式碼理解、除錯輔助
4. 重要程式碼仍然手動審查每一行

兩者不衝突,Copilot 補全 + Cursor 深度編輯是當前最佳組合。

對團隊的建議

  • 不要禁止 AI 工具,要引導正確的使用方式
  • 教團隊"審查生成程式碼"的意識,比"會不會用 AI"更重要
  • 敏感程式碼(金鑰、核心演算法)不要輸入到 AI 工具中
  • 評估 AI 工具的 ROI:編碼速度提升 30-50% 是真實的,但學習和適應有成本
  • 關注 Cursor / Copilot 競爭格局,這個領域變化非常快

小結

  • Cursor 把 AI 從"程式碼補全"提升到了"編碼夥伴"級別
  • Cmd+K 自然語言編輯、Cmd+L 專案感知對話是核心功能
  • 重構、生成重複程式碼、理解陌生程式碼是最佳場景
  • 複雜業務邏輯和架構決策仍然需要人來做
  • Copilot + Cursor 組合使用是當前最優工作流

MIT Licensed