Cursor —— AI編輯器 使用詳解

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 種模式,分別為:AskEditAgent

(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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78999.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78999.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78999.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Excel圖表添加輔助線

前言:博主最近是有點忙,好吧,就是很忙,但我也不想水文章的,每一篇文章都是本人精心編輯,覺得對大家有用才發布的。而且同一個類型的文章,我基本都會寫在同一篇中方便大家集中獲取。本來這篇文章…

2025.5.8總結(中期審視)

今日記錄: 晚上,主管找我聊了關于中期績效審視的問題。 首先就是讓我匯報上半年的工作進展,匯報完后,感覺體現不出自己的工作量,這確實考驗個人的匯報能力。 匯報完工作后,主管開始給我提了一些建設性的…

Excel模版下載文件導入

工作中經常遇到Excel模板下載,然后填好后再導入的情況,簡單記錄下,方便下次使用 Excel模版下載(返回Base64) 模板文件存放位置 import java.util.Base64; import org.apache.commons.io.IOUtils; import org.sprin…

SpringBoot 訊飛星火AI WebFlux流式接口返回 異步返回 對接AI大模型 人工智能接口返回

介紹 用于構建基于 WebFlux 的響應式 Web 應用程序。集成了 Spring WebFlux 模塊,支持響應式編程模型,構建非阻塞、異步的 Web 應用。WebFlux 使用了非阻塞的異步模型,能夠更好地處理高并發請求。適合需要實時數據推送的應用場景。 WebClie…

模擬Sch LVS Sch 方法

Step1:打開calibre 打開一個terminal,進到想要做lvs的路徑: 在terminal 敲入calibre -gui,產生calibre 界面 點擊nmLVS,產生calibre LVS界面 Step2:LVS 界面設置1 LVS rules file:加載lvs規…

注解的定義

一、理論說明 1. 注解的定義 Java 注解是從 JDK 5.0 開始引入的一種元數據機制,它可以為代碼添加額外的信息,這些信息不影響程序的運行邏輯,但可以在編譯期、類加載期或運行期被讀取和處理。注解本質上是一種特殊的接口,所有注解…

面試實踐AND面經熱點題目總結

1、對于Rocketmq消息積壓、丟失如何解決? 消息積壓原因以及解決方案 🎯 產生原因: 消費者處理能力弱,消費速度遠低于生產速度; 網絡不穩定,消費者拉取消息失敗; 消費端異常(如處理…

【KWDB 創作者計劃】使用Docker實現KWDB數據庫的快速部署與配置

【KWDB 創作者計劃】使用Docker實現KWDB數據庫的快速部署與配置 前言一、KWDB介紹1.1 KWDB簡介1.2 主要特點1.3 典型應用場景 二、環境介紹2.1 部署環境要求2.2 本地環境規劃2.3 部署模式 三、部署Docker環境3.1 安裝相關工具3.2 配置Docker軟件源3.3 更新軟件源3.4 安裝Docker…

JWT深度解析:現代Web身份驗證的通行證-優雅草卓伊凡

# JWT深度解析:現代Web身份驗證的通行證 ## 一、JWT的本質與構成 ### 1.1 JWT的定義解析 JWT(JSON Web Token)是一種**開放標準(RFC 7519)**,用于在各方之間安全地傳輸信息作為JSON對象。這種信息可以被…

前端緩存踩坑指南:如何優雅地解決瀏覽器緩存問題?

瀏覽器緩存,配置得當,它能讓頁面飛起來;配置錯了,一次小小的上線,就能把你扔進線上 bug 的坑里。你可能遇到過這些情況: 部署上線了,結果用戶還在加載舊的 JS;接口數據改了&#xf…

2022年8月,?韓先超對中移信息進行微服務架構原理(Docker+k8s+DevOps+Go等)培訓

2022年8月,?韓先超對中移信息進行微服務架構原理(Dockerk8sDevOpsGo等)培訓 2022年8月,在企業數字化轉型和云原生架構加速演進的背景下, 中移信息技術有限公司特別邀請云原生與DevOps領域專家 韓先超老師&#xff0c…

ComfyUI 學習筆記,案例 6 :FLUX 模型文生圖

背景 剛開始了解 Comfy UI 的時候,隨便找了一個資料,對著這篇 《Flux在ComfyUI里的下載與安裝》 進行操作的,下載了這里面的模型到本機。 玩了幾天,大概對 ComfyUI 有了一點了解,知道了 Flux 這是一個模型&#xff0…

Docker + Watchtower 實現容器自動更新:高效運維的終極方案

文章目錄 前言一、Watchtower 簡介二、Watchtower 安裝與基本使用1. 快速安裝 Watchtower2. 監控特定容器 三、Watchtower 高級配置1. 設置檢查間隔2. 配置更新策略3. 清理舊鏡像4. 通知設置 四、生產環境最佳實踐1. 使用標簽控制更新2. 更新前執行健康檢查3. 結合CI/CD流水線 …

從易發性分析到災后規劃,AI大模型如何顛覆傳統地質災害防治?

地質災害是指全球地殼自然地質演化過程中,由于地球內動力、外動力或者人為地質動力作用下導致的自然地質和人類的自然災害突發事件。在降水、地震等自然誘因的作用下,地質災害在全球范圍內頻繁發生。我國不僅常見滑坡災害,還包括崩塌、泥石流…

第37次CCF第三題--模板展開--stringstream讀取字符串

1 a hello 1 b world 2 c $a $b 1 d good $c 1 a hi 1 e good $c1 a hello 1 b world 2 c $a $b 3 c 1 a hi 3 c將會輸出:10 和 7,對應的變量的值為: helloworld hiworld 需要注意的是,在使用間接賦值語句時,在變量的…

深度學習:智能車牌識別系統(python)

這是一個基于opencv的智能車牌識別系統,有GUI界面。程序能自動識別圖片中的車牌號碼,并支持中文和英文字符識別,支持選擇本地圖片文件,支持多種圖片格式(jpg、jpeg、png、bmp、gif)。 下面,我將按模塊功能對代碼進行分段說明: 1. 導入模塊部分 import tkinter as tk…

Missashe考研日記-day35

Missashe考研日記-day35 1 專業課408 學習時間:3h學習內容: 完結撒花!!今天把OS最后一節的內容學完了,操作系統也算是告一段落了,接下來是計網時間!不過計網我是上學期才學過的,當…

【Bootstrap V4系列】學習入門教程之 組件-下拉菜單(Dropdowns)

Bootstrap V4系列 學習入門教程之 組件-下拉菜單(Dropdowns) 下拉菜單(Dropdowns)一、Overview 概述二、Accessibility 可訪問性三、Examples3.1 Single button 單按鈕3.2 Split button 分割按鈕 四、Sizing 尺寸 下拉菜單&#x…

紅外遙控與NEC編碼協議詳解

在我們日常生活中,電視遙控器、空調遙控器、風扇遙控器,幾乎都離不開“紅外遙控”這項技術。雖然我們每天都在用,但你知道里面是怎么通信的嗎?本篇文章將帶你了解紅外遙控的工作原理,重點解析目前應用最廣泛的紅外編碼…

深入剖析 I/O 復用之 select 機制

深入剖析 I/O 復用之 select 機制 在網絡編程中,I/O 復用是一項關鍵技術,它允許程序同時監控多個文件描述符的狀態變化,從而高效地處理多個 I/O 操作。select 作為 I/O 復用的經典實現方式,在眾多網絡應用中扮演著重要角色。本文…