Cursor - The AI Code Editor
一、Cursor?是什么?
Cursor 是一款優秀的AI代碼編輯器,它內置了 Deepseek-R1、GPT-4、Claude等 AI 模型。
簡單說,就是:Cursor = VS Code 編輯器 + AI 大模型 + Cursor 功能特性(代碼補全、文件編輯等)
它可以:
- 智能補全代碼
- 解釋代碼
- 定位Bug
- AI大模型問答
- 文本編輯
更重要的是,它可以:
- 根據自然語言,生成代碼
這一點,非常利好 “不懂編程,但是有開發想法” 的人。
二、核心功能
1、Cursor Tab
Cursor Tab 是手寫代碼過程中,使用最高頻的一個功能。
寫代碼時,Cursor 會基于當前光標的位置推斷出你接下來要寫的代碼內容。
Cursor 會像輸入法的聯想功能一樣,聯想出你接下來想要編寫的內容。如果接受,只需要按鍵盤的 Tab 鍵,代碼就會自動生成,然后 Cursor 會基于新的光標位置推斷新的內容。
如果不接受,只需按照自己的想法繼續敲代碼即可。Cursor 會基于新的光標位置,推斷下一步的聯想。
在上下文代碼邏輯比較完整的情況下,Cursor 對代碼的聯想一般比較準確。所以大多數時間里,你會頻繁地按 Tab 鍵采用 Cursor 聯想的代碼。(未來就像 tab tab tab)
2、聊天窗口:Chat
Chat 聊天窗,是最核心、最重要的一個功能。
Chat 聊天框分為 3 種模式,分別為:Ask、Edit、Agent。
(1)Ask
Ask 模式,類似你使用 Deep Seek app 來聊天的功能。它側重于對你的提問進行解答。
平時開發時,可以把它當作:
- 思維發散的工具,輔助你設計一些創新的游戲設計
- 技術咨詢的工具,告知你要實現這樣的功能,需要用到哪些技術
- 代碼解釋的工具,復制一段代碼到聊天框,讓Cursor告訴你這段代碼的邏輯,幫你排查代碼是否有Bug
- 提高效率的工具,一些機械式的編碼工作,一些不太熟悉的編碼工作,可以讓Cursor幫你寫
- 案例:之前做Demo,找了一個第三方特效插件,有一個Shader用的是內置渲染管線的寫法,讓Cursor把這份Shader轉為URP渲染管線的寫法
- (其他任何你能想到讓Cursor去做的功能)
(2)Edit
Edit 模式,可以理解為增強版的 Ask 模式。相比之下,Edit 模式增加了直接修改項目文件、代碼的功能。
舉個例子,我分別在 Ask 模式和 Edit 模式下,給 AI 提了相同的問題:
一個簡單跑酷游戲的賽道生成邏輯怎么寫
Ask 模式,生成了 C# 代碼以及文字描述:?
Edit 模式,則是直接修改了代碼文件,并給出了文字描述:
Edit 模式,更適合在需求明確的情況下,讓 Cursor AI 直接參與到項目工作流中。
當然 AI 生成的代碼還是需要人去評估的,這些代碼生成后,對應的文件處于“待保存”的狀態。
你需要一個文件一個文件、一行代碼一行代碼地去過一遍:
- 符合要求的代碼,保留——“√ Accept”
- 不滿足要求的代碼,還原——“× Reject”
你可以在 AI 的回答中選擇是否使用生成的代碼:
也可以在聊天窗口的代碼修改總覽中選擇是否采納代碼:
也可以在生成的代碼文件中,做更精細化的采納判斷。
那么,如果你不會寫代碼,該怎么用這個功能?
很簡單,無腦點 Accept All 采納所有生成的代碼,然后運行起來看看,不符合效果的,繼續向AI提出修改意見,直到代碼的運行符合預期。
文章一開始的案例演示,用的就是這種方式。
(3)Agent
Agent 模式,可以理解為增強版的 Edit 模式。
除了 Edit 的功能,它還可以:
- 根據搜索內容的關聯性,搜索相關的代碼
- 調用 MCP 服務器,接入其他 AI 工具,比如:文生圖
- 運行終端(命令行)指令
- 自動從網上搜索最新的內容
因為 Agent 模式比 Edit 模式更強大,邏輯更復雜,所以 Agent 模式的執行速度會比 Edit 模式慢很多,但是回答的質量也高很多。
什么情況下使用 Agent 模式?
- 有編碼需求的前提下,
- 如果你不是很懂代碼
- 無腦選擇 Agent 模式來生成代碼;
- 如果你是程序員
- 如果要生成的代碼需要分模塊才能理清楚
- 選擇 Agent 模式,交給 AI 來托管
- 如果只是生成一些簡單的邏輯
- 選擇 Edit 模式,精細化操控
Ctrl K 其實是一個 Edit 模式的內嵌聊天窗口。
你可以把光標定位到文件的某一行,在內嵌窗口中輸入你希望 AI 生成的代碼邏輯。
三、Cursor的使用技巧
1、AI 亂改代碼問題的解決思路
網上經常會刷到,網友使用 Cursor 時,AI 把之前生成好的、可以穩定運行的代碼給改壞了。
這個問題可以拆分成3個步驟進行解決:預防、檢測、回滾。
1、預防
預防,就是避免讓AI生成自己不想要的代碼。
換種說法,就是:怎么向 AI 提問,讓 AI 完全理解我們的訴求。
有以下幾種策略:
- 讓 AI 復述需求
在聊天框輸入需求之后,加上一句:
請先復述一遍我的需求,先不要修改代碼,確保你真正理解我的需求。
然后基于 AI 的回復,確認AI的理解和需求完全一致時,再讓 AI 生成代碼。
- 限定影響范圍
讓 AI 生成代碼時,盡可能引用相關的文件、文件夾,限定 AI 生成、修改代碼的文件范圍。
哪怕 AI 生成了錯誤的代碼,也可以讓影響降到最小。
- 拆解并細化需求
AI 善于執行明確的指令,太泛、太模糊的指令會讓 AI 思維發散,從而生成偏離期望的代碼。
- 引導與修正
AI 在知識領域非常強大,但是在自然語言的溝通理解上,尤其是中文,還遠遠沒能達到一名成年人的理解水準。
即使是兩名智力正常的程序與策劃,也依然會出現開發內容與項目需求有偏差的情況,所以在AI思考方向有偏差時,要及時修正、加以引導。
必要時,可以將自己對問題的思考策略告知AI,也可以附上一些引用、鏈接等,幫助 AI 更好地理解我們的需求。
2、檢測
這一點,在前面講 Edit 時有提到過。在 Edit 模式下,AI 可以一次性幫我們編寫很多代碼文件,你需要自己去判斷這些代碼是否符合預期,從而判斷代碼是否采用。
不熟悉編程的同學,可以 Accept All,運行后根據結果,告知 AI 哪些地方不符合預期,期望的預期是怎么樣的,以此來一步步把代碼修改成自己想要的樣子。
3、回滾
回滾,是一個追悔的功能。
如果誤點了 Accept All,但是代碼邏輯又不是自己想要的,可以找到代碼生成前的那一次提問,點 Checkpoint 旁邊的 Restor 把代碼回滾到修改前的狀態:
遵循這 3 個步驟,可以讓 AI 亂改代碼的可能性降到最低。
即使你不會寫代碼,也可以讓 AI 寫出符合你心意的代碼。
四、Cursor 的整體使用思路
- 需求分析、整理成檔:
- 用 Ask 模式,找 AI 把需求聊透,并記錄成文檔,以便后續引用,讓 AI 快速理解。
- 編寫代碼、按需選模式:
- 程序員:用 Edit 模式編寫簡單的代碼邏輯,借助 Agent 模式編寫復雜模塊的代碼邏輯
- 門外漢:無腦用 Agent 模式。
- 使用引用、制定規則:
- 高效使用 @ 引用功能
- 合理制定規范,讓 AI 的回答更精準。
- 模型選擇:
- 編碼用 Claude-xxx-sonnet
- 聊需求用 Deep Seek R1、ChatGPT-4o。
參考:https://zhuanlan.zhihu.com/p/27335614120