目錄
一、介紹
二、如何打開文件
1、從idea跳轉文件
?2、單獨打開項目
三、常見使用
1、Chat 窗口 Ask 對話模式
1.1、使用技巧
?1.2 發送和使用 codebase 發送區別
1.3、問題快速修復
2、Chat 窗口 Agent 對話模式
2.1、agent模式功能
2.2、Chat 窗口回滾&撤銷
2.3、使用技巧
3、智能編碼
(1)基礎示例
(2)文檔模板補全
(3)變量和函數補全
(4)方法和屬性補全
4、內聯聊天
5、代碼庫索引
5.1、介紹
5.2、如何配置代碼庫索引
6、常用 @ 命令講解
7、AI 生成提交消息
8、自定義 AI 規則
(1)項目級規則(推薦)
(2)全局規則
9、Agent+Yolo 模式
10、MCP
??編輯
一、介紹
Cursor - The AI Code Editor
下載安裝后使用google賬戶登錄。
二、如何打開文件
1、從idea跳轉文件
switch2Curson可以實現Idea和Cursor同行跳轉的插件
如我打開一個工程,點擊Open File In Cursor
點擊跳轉后,讓AI自動加上一個字段?
?2、單獨打開項目
可以像vs code那樣單獨打開一個項目
三、常見使用
1、Chat 窗口 Ask 對話模式
分為 Ask、Manual、Agent 三種對話模式。統一在一個窗口的好處是,如果 Ask 模式討論的內容,可以方便的切換為 Agent 模式直接將內容寫到文件中。
Ask 模式是 Cursor 中最基礎的 AI 交互方式,主要用于幫助你理解和探索代碼。它可以:
-
回答你關于代碼的各種問題
-
幫助搜索和理解代碼庫
-
提供代碼解釋和建議
-
快速修復代碼錯誤(通過 AI Fix 功能)
-
和 Agent 模式最大區別是不能自動生成文件,如果是代碼片段需要手動 Apply
如:可以看到,ask模式下并沒有自動操作代碼,agent模式下則自動刪除了
1.1、使用技巧
-
使用
? + L
快速打開/關閉 Chat 窗口,并自動切換到 Ask 模式 -
通過
@
符號添加特定上下文 -
懸停在代碼錯誤上方,點擊 AI Fix 按鈕快速修復問題
?1.2 發送和使用 codebase 發送區別
在 Chat 窗口下,發送消息此前是兩個提交按鈕,現在只展示了一個按鈕,如果不看文檔,你都不知道它這里竟然還有隱藏功能:
?
:
直接按回車或點擊發送按鈕
普通提交,只發送當前的對話內容
適合簡單的問題咨詢和代碼討論
不會包含項目上下文信息
??
:
按住
?
(command) +?
(回車) 鍵發送帶有代碼庫上下文的發送
會自動分析并包含相關的代碼文件內容
適合需要 AI 理解當前項目結構和代碼的場景
能得到更準確的回答,因為 AI 有更多上下文信息
1.3、問題快速修復
Cursor 提供了便捷的代碼錯誤修復功能。當代碼出現錯誤時,你可以:
鼠標懸停在錯誤處
把錯誤信息發送給 Cursor Chat 窗口
AI 會分析錯誤原因并給出修復建議
注意,按下
?
鍵再點擊錯誤信息,會發送錯誤信息到新 Chat 窗口。原先底部的 Ask 模式會被切換為 Agent 模式。
2、Chat 窗口 Agent 對話模式
Agent 模式是 Cursor 默認的對話模式,也是一個更強大的 AI 編程助手,專注于代碼的創作和修改。它不僅能理解代碼,還能直接進行文件操作。
2.1、agent模式功能
Agent 模式是 Chat 窗口中最強大的功能,它像一個真實的編程助手,可以主動幫你完成各種復雜的編程任務:
自動獲取相關上下文
執行文件創建、修改、刪除操作
運行終端命令(需要開啟 Yolo 模式)
自動代碼庫搜索(Codebase 功能)
執行過程中如果發現錯誤,會嘗試自動修復錯誤
呼叫 MCP 功能,只有在 Agent 模式下能使用
自動進行網絡搜索
Agent 的工作流程:
主動行為:
自動分析項目結構
提出具體解決方案
創建必要的文件
文件操作:
創建新文件
自動導入依賴
添加相關功能
終端集成:
提示運行命令
展示執行結果
所有命令都會先征求你的同意(前提是 Yolo 模式為關閉狀態)
智能搜索:
自動找到相關文件
分析代碼依賴關系
提供相關代碼建議
上下文管理:
自動包含相關文件內容
理解代碼之間的關聯
保持代碼風格一致
錯誤自動修復:
執行期間的錯誤自動修復
支持將錯誤信息直接添加到 Chat 中進行修復
2.2、Chat 窗口回滾&撤銷
在 Chat 窗口中,右下角有一個 Restore 按鈕,可以回滾到之前的版本。在回滾之后,還可以使用撤銷按鈕,撤銷回滾。
推薦及時通過 Git 的版本控制來管理代碼的每次主要變更。
2.3、使用技巧
使用
? + I
打開 Chat 窗口 Agent 模式使用
? + N
創建新的 Chat 會話(需要在 Chat 窗口中)使用
? + .
切換 Ask/Edit/Agent 模式通過
@
符號添加特定上下文使用檢查點(Checkpoints)功能隨時回退更改
只是提問問題,建議 Ask 模式
需要執行任務,建議 Agent 模式
3、智能編碼
(1)基礎示例
當我們輸入一段文本時,Cursor 會根據上下文提供智能補全建議。只需按下 Tab 鍵,就可以接受建議并繼續寫作。
代碼智能補全是 Cursor 最強大的功能之一,它不僅能提供基本的代碼補全,還能理解代碼上下文,給出最合適的建議。
(2)文檔模板補全
-
API 文檔補全
-
輸入 "## API" 時,會提供 API 文檔模板
-
自動生成標準的 API 文檔結構
-
-
錯誤處理文檔補全
-
輸入 "## 錯誤" 時,自動補全錯誤處理文檔結構
-
幫助快速創建標準化的錯誤文檔
-
(3)變量和函數補全
當你開始輸入變量或函數名時,Cursor 會根據上下文提供智能建議:
// 1. 變量名補全
const userName = '張三';
// 輸入 "user" 時,Cursor 會建議:
userName // 已定義的變量
userId // 常見的相關變量
userEmail // 上下文相關的建議
// 2. 函數名補全
function calculateTotalPrice(price, quantity) {
return price * quantity;
}
// 輸入 "calc" 時,Cursor 會建議:
calculateTotalPrice // 已定義的函數
calculateDiscount // 相關的函數名
calculateTax // 上下文相關的建議
(4)方法和屬性補全
輸入對象后的點號時,Cursor 會顯示所有可用的方法和屬性:
-
字符串方法補全
-
數組方法補全
-
對象屬性補全
4、內聯聊天
在日常開發中,我們經常需要編寫新代碼、修改已有代碼或執行終端命令。Cursor 提供了強大的內聯聊天功能,可以幫助你快速完成這些任務。
在 Cursor 中,你可以使用以下快捷鍵打開命令輸入欄(Prompt Bar):
macOS:
Cmd K
Windows/Linux:
Ctrl K
命令喚醒的輸入欄,也是一個 AI 聊天窗口,不過它不是一個單獨的窗口,而是內聯在文件中,主要功能包括:
輸入自然語言描述來提問
使用 @ 符號引用其他內容
對生成的結果進行多次優化
5、代碼庫索引
代碼庫索引是 Cursor 最強大的功能之一。它通過為代碼文件創建嵌入向量(Embeddings),幫助 AI 全面理解你的項目。這個功能讓 AI 能夠"看見"整個代碼庫,而不僅僅是當前打開的文件。
5.1、介紹
使用代碼庫索引后:
? AI 回答更準確,因為它能基于當前項目的索引庫回答問題
? 文件搜索更快
? AI 能更好地理解跨文件的關系
? 重構建議更精準
實際效果對比
使用代碼庫索引和不使用代碼庫索引的主要區別:
使用代碼庫索引時,AI 先搜索了項目中的文件,然后根據文件內容回答
AI 能準確指出項目中實現的具體功能和代碼
不使用代碼庫索引時,AI 只能從一般角度回答,沒有針對項目的具體情況
5.2、如何配置代碼庫索引
基本設置
Cursor 默認會自動索引新打開的文件夾。設置步驟:
打開
Cursor Settings
進入
Indexing & docs
查看同步狀態指示條(顯示索引進度)
可用操作:
【Sync】重新同步索引
【Delete Index】刪除現有索引
重要配置選項
自動索引新文件夾
Index new folders by default
選項默認開啟自動索引新打開的文件夾
超過 250,000 個文件的文件夾不會自動索引
忽略文件設置
Ignore files
選項用于配置索引時要忽略的文件這些規則會補充
.gitignore
中的規則可以通過
Configure ignored files
按鈕設置規則或創建
.cursorignore
文件配置規則最佳實踐
為了更好地使用代碼庫索引功能:
定期檢查索引狀態(通過進度條)
合理設置忽略規則,避免索引無關文件
大型項目考慮模塊化索引
團隊統一
.cursorignore
配置使用代碼庫索引功能快速理解項目
常見問題解決
索引不同步或失敗問題
點擊
Delete Index
刪除索引,然后重新打開項目或者點擊
Sync Index
重新同步索引被刪除時,需要點擊"Compute Index"重新計算
索引進度條卡住
如果索引進度條卡住(一直顯示 Pause Indexing):
確認網絡是否正常
嘗試刪除索引,重新計算
代碼安全問題
關于代碼安全,Cursor 的隱私政策說明:
代碼會分成小塊上傳到服務器計算嵌入向量
所有明文代碼在請求完成后立即刪除
只有嵌入向量和元數據(如哈希值、文件名)會存儲在數據庫中
源代碼本身不會被保存
6、常用 @ 命令講解
在 Cursor 中,@ 命令是一個很有用的工具。你在 Chat 窗口輸入 @ 時,就可以看到很多選項。
你可以這樣使用 @ 命令:
-
在輸入框中輸入 @
-
用上下鍵選擇你想要的命令
-
按 Enter 鍵確認
?常用的@命令
@Files和@Folder - 引用文件和文件夾
這兩個是最常用的@命令,可以引用項目中的特定文件和文件夾作為上下文。如果要引用文件,直接將文件或文件夾拖拽到 Chat 窗口會更方便。
@Code - 引用代碼片段
如果要引用代碼片段,最方便的方式是在編輯器中選擇代碼,然后按
Command +
添加到Chat 窗口。相比使用@Code命令,這種方式更直觀,也更方便。@Docs - 訪問文檔
例如,我們要寫一個 Next.js 項目,需要參考 Next.js 的官方文檔,我們可以將官方文檔添加到 Cursor 中,然后通過@Docs命令訪問。
Cursor 會自動抓取和索引第三方文檔,你還可以通過
Cursor 設置
->Features
->@Docs
->Add new doc
添加自定義文檔。@Git - 訪問Git歷史
訪問項目的Git歷史和變更記錄。當你不清楚過去某個版本改過了什么,通過@Git命令可以讓 AI 根據 Git 歷史和變更記錄回答你的問題。
在 Chat 窗口輸入
@Git
后選擇某個 Git 歷史版本。@Cursor Rules
訪問為項目設置的規則和指南,并將其應用于上下文。在 Chat 窗口輸入
@Cursor rules
后選擇某個規則。只支持在 Agent 模式下,正常 Agent 模式會根據匹配的規則自動應用。@Web - 引用外部資源
@Web 命令會自動搜索互聯網以查找與 Cursor 查詢相關的上下文。在 Agent 模式下,必要時會自動執行 @Web 命令。
例如,我們提問一些問題,如果想讓 Cursor 查詢最新內容進行回答,可以輸入
@Web
命令。Cursor 會根據問題自動搜索互聯網,并根據搜索結果進行回答。@Past chats - 引用歷史對話
@Past chats 命令會顯示你之前與 Cursor 的對話記錄。意思就是你可以將某次對話記錄作為上下文引用。這個是最近剛推出的一個功能。
其它@命令
@Recent Changes:查看最近更改,創建指向特定代碼或文檔的鏈接
@Lint Errors:Agent 模式下,會根據 Lint 錯誤自動修復
其他符號
# Files
- 添加文件到上下文而不引用
/ Commands
- 添加打開和活動的文件到上下文
7、AI 生成提交消息
在日常開發中,編寫清晰、規范的 Git 提交消息常常是一項耗時且有挑戰的任務。Cursor 提供的 AI 生成提交消息功能可以幫助開發者快速創建高質量的提交記錄,大大提高工作效率。這個功能特別實用,讓我們不再需要花費大量時間思考如何描述代碼變更。
使用 Cursor 的 AI 生成提交消息功能非常簡單:
完成代碼修改后,打開源代碼管理面板
在提交消息輸入框中,點擊右側的閃光圖標 (?),AI 會自動生成提交消息
AI 會根據你的代碼變更生成合適的提交消息,你可以直接點擊
Commit
按鈕提交提交后,點擊 Sync 按鈕將代碼推送到遠程倉庫
在 SOURCE CONTROL GRAPH 面板中,你可以查看所有提交記錄,點擊任意提交記錄可以查看具體的代碼變更。
8、自定義 AI 規則
什么是 AI 規則?
AI 規則是 Cursor 的一個功能。你可以用它來控制 AI 的行為。這些規則會在每次對話時自動使用。這樣 AI 就能按照你想要的方式工作。
主要用途有:
設定編碼風格
定制文檔格式
統一團隊流程(團隊協作特別適用)
個性化代碼審查
規則設置方式
Cursor 目前項目級規則優先級最高,推薦使用項目級規則:
項目級規則
全局規則
(1)項目級規則(推薦)
你需要在項目根目錄的
.cursor/rules
文件夾中創建.mdc
文件。mdc 是 Cursor 的規則文件格式。它基于 Markdown 格式。它支持四種規則類型:
Always:自動附加到所有聊天和命令請求(command + k),適用于全局規則
Auto Attached:基于文件模式匹配自動觸發,例如: .tsx, .json, Test.cpp
Agent Requested:針對特定任務場景,需要提供任務描述。幫助 AI Agent 更好地理解和執行特定任務
Manual:需要手動提及才會被包含,適用于特殊場景的臨時規則
支持的功能:
規則內容:用 Markdown 格式寫規則
規則引用:用 @file 引用其他規則文件
創建方法:
方法一:
打開命令面板(?+?+P)
選擇 "New Cursor Rule"
輸入規則文件名
在打開的
.mdc
文件中寫規則方法二:
在 Cursor 設置中,找到 Rules 選項
點擊 "+ Add new rule" 按鈕
(2)全局規則
全局規則對所有項目都有效。設置步驟:
打開 Cursor 設置
進入 "Rules" → "User Rules"
添加全局規則(如語言設置)
9、Agent+Yolo 模式
在前面我們介紹了 Cursor 的 Agent 模式,它像一個真實的編程助手,可以主動幫你完成各種復雜的編程任務。現在,讓我們來了解一下 Cursor 在 0.44 版本中新增的 Yolo 模式。
Yolo 模式是一個讓 Agent 更加自動化的功能。之前介紹的 Agent 模式,Agent 會根據你的提示,判斷是否需要執行命令,如果需要執行命令,會提示你確認。
Yolo 模式則更進一步,Agent 將無需確認就能執行命令和文件操作,朝著"全自動駕駛"又邁進了一步。開啟 Yolo 模式后,Cursor 編輯器能夠:
-
文件的增刪改查控制權利更大
-
執行代碼所需的命令
-
修復可能出現的問題
-
重復執行這些操作
而你只需要留意它正在做什么就可以了。
如何啟用 Yolo 模式?
打開 Cursor 設置
進入
Chat
部分找到并啟用
Auto Run Mode
選項在啟動 Yolo 模式后,你可以配置以下選項:
Auto-run prompt
:描述哪些命令應自動執行,由模型判斷。例如:"僅限編譯命令、git 命令和其他安全命令"
Command allowlist
:如果只有特定命令應自動執行,可以在此添加
Command denylist
:永遠不應自動執行的命令
File-Deletion protection
:如果啟用,將阻止 Agent 自動刪除文件
MCP tools protection
:如果啟用,將阻止 Agent 使用 MCP 工具
Command denylist
這個選項,建議配置 rm 命令,防止誤刪文件。但是,還是要注意,開啟 Yolo 模式后,建議及時使用 git 提交代碼,防止誤刪后找不回來。在企業級項目中,建議不要開啟 Yolo 模式。
10、MCP
Cursor 里面有 MCP,所以 AI 助手可以:
讀寫你電腦上的文件
搜索網絡信息
運行命令
使用數據庫
使用各種工具
這樣 AI 助手就不只是看懂你的代碼,還能幫你做很多事情。
?
1. 用配置文件
MCP 用 JSON 文件來設置,有兩種設置:
所有項目都能用的設置
文件位置:
~/.cursor/mcp.json
用途:你想在所有項目中都用的 MCP 服務器
這些工具在所有 Cursor 項目中都能用
單個項目的設置
文件位置:項目里的
.cursor/mcp.json
用途:只給這個項目用的 MCP 服務器
這些工具只在這個項目里能用
配置文件示例:
{"mcpServers": {"server-name": {"command": "npx","args": ["-y", "mcp-server"],"env": {"API_KEY": "your-api-key"}}} }
配置說明:
command
:運行服務器的命令
args
:命令行參數
env
:環境變量,用于存儲 API 密鑰等敏感信息使用Playwright MCP
Playwright MCP 服務器提供了瀏覽器自動化能力,讓 AI 能夠直接操作網頁、截圖和執行 JavaScript。這使得 AI 助手能夠幫助我們進行網頁測試、數據抓取等任務。
主要功能:
瀏覽器自動化
控制真實瀏覽器進行網頁交互
支持多種瀏覽器(Chrome、Firefox、Safari)
可執行點擊、輸入、滾動等操作
網頁截圖
捕獲整個頁面或特定元素的截圖
支持多種圖片格式
JavaScript 執行
在頁面上下文中執行 JavaScript 代碼
獲取頁面元素和數據
設置方法:
{"mcpServers": {"playwright": {"command": "npx","args": ["-y", "@playwright/mcp@latest"]}} }
MCP 學習資源
Github 上有個 servers 倉庫,里面有很多 MCP 服務器的代碼
訪問 MCP 官網文檔 了解更多關于該協議的內容
MCP 客戶端有很多,Cursor 只是其中一個