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