Cursor這幾個(gè)天花板級(jí)別的技巧,讓你輕松成為Cursor高手!
cursor 無(wú)疑已經(jīng)成為了 AI 編輯器之王,以至于很多公司招聘都要求需要使用過(guò) cursor。如果你完全沒(méi)接觸過(guò) AI 工具,似乎已經(jīng)與世界脫節(jié)了!并且 AI 更新的速度如此之快,掌握像 cursor 這樣的工具已經(jīng)成為一種必需。
下面就來(lái)說(shuō)說(shuō)使用 cursor 的一些好用的技巧。
第一個(gè),快捷鍵
cursor雖然是一個(gè)AI工具,但是學(xué)會(huì)它的常用快捷鍵也能明顯提高效率。。
AI法器的快捷鍵
圖片
編輯器快捷鍵
圖片
編輯神器
圖片
當(dāng)然最頻繁的快捷鍵還是tab。
第二個(gè),文檔管理
AI最需要我們的就是關(guān)于問(wèn)題的信息,信息可大可小,如果信息是用文檔組織的,那么cursor也提供了添加文檔的功能。
圖片
但是也別把所有文檔一下子全給cursor,不然cursor也會(huì)對(duì)這些雜亂無(wú)章的信息所從下手,只能給出一個(gè)很糟糕的結(jié)果。
如下是使用文檔的幾個(gè)小的最佳實(shí)踐
- 別直接復(fù)制大段文檔,而是用 @ 來(lái)引用配置好的文檔
- 文檔要精簡(jiǎn),重點(diǎn)突出,去掉不重要的部分可以讓cursor更加準(zhǔn)確
- 如果可以,最好是自己寫文檔,這樣更容易被理解
圖片
文檔配置方法
圖片
如果是一個(gè)鏈接,cursor還能讀取里面的子頁(yè)面。
對(duì)于本地文檔,cursor做的不如url文檔好,目前需要手動(dòng)把本地文檔拖到cursor里面,然后@這個(gè)本地文檔。
圖片
第三個(gè),擴(kuò)大上下文窗口
對(duì)大型項(xiàng)目重構(gòu)、跨模塊調(diào)用分析有大幫助,小項(xiàng)目不建議開(kāi)啟,因?yàn)樯舷挛拇翱谠酱螅愕膍oney流失的越快。

第四個(gè),為每個(gè)項(xiàng)目創(chuàng)建 .cursorrules 文件
Cursor 規(guī)則(.cursorrules 文件)是為 Cursor 中的 AI 助手設(shè)置的自定義指令,指導(dǎo)其在解釋代碼、生成建議和回答查詢時(shí)的行為。
其實(shí)這就是有經(jīng)驗(yàn)的編程人員和新手小白使用 cursor的差距體現(xiàn),因?yàn)橛薪?jīng)驗(yàn)的人就會(huì)把他們的開(kāi)發(fā)規(guī)范寫入到rules,減少與cursor的磨合。
這些規(guī)則允許您根據(jù)自己的編碼風(fēng)格和項(xiàng)目需求定制 cursor 的行為。其實(shí),.cursorrules 文件就是每個(gè)項(xiàng)目的提示詞配置。
rules分為全局的和項(xiàng)目的。
- 全局規(guī)則:在 Cursor 設(shè)置中的 General > Rules for AI 下設(shè)置。
- 項(xiàng)目特定規(guī)則:在項(xiàng)目根目錄的 .cursorrules 文件中定義。
全局配置如下:
圖片
通過(guò)2種rule的區(qū)別,可以對(duì)它們進(jìn)行不同的使用,比如,你可以在 AI 規(guī)則中設(shè)置通用的代碼風(fēng)格偏好,而在 .cursorrules 中定義具體項(xiàng)目的特殊要求。
圖片
下面來(lái)看看規(guī)則文件的位置:
圖片
通用規(guī)范
# Golang 通用開(kāi)發(fā)規(guī)范
description: Golang 基礎(chǔ)開(kāi)發(fā)規(guī)則與最佳實(shí)踐
globs: "**/*.go"
alwaysApply: true
## 基礎(chǔ)規(guī)則
- **代碼組織**:遵循 Go 標(biāo)準(zhǔn)項(xiàng)目布局:cite[2]
- **模塊管理**:使用 Go Modules,確保 `go.mod` 文件準(zhǔn)確反映依賴
- **包設(shè)計(jì)**:包名簡(jiǎn)潔、有意義,使用小寫字母
- **錯(cuò)誤處理**:錯(cuò)誤必須處理,不能使用 `_` 忽略錯(cuò)誤,優(yōu)先返回錯(cuò)誤而非 panic
- **資源管理**:使用 `defer` 及時(shí)關(guān)閉文件、連接等資源
## 并發(fā)規(guī)范
- **Goroutine 生命周期**:明確 Goroutine 的啟動(dòng)和終止條件,避免泄漏:cite[8]
- **通道使用**:優(yōu)先使用無(wú)緩沖通道明確并發(fā)關(guān)系,關(guān)閉通道由發(fā)送方負(fù)責(zé)
- **同步原語(yǔ)**:正確使用 `sync.Mutex`、`sync.WaitGroup` 等同步機(jī)制
## 性能關(guān)鍵
- **內(nèi)存分配**:減少不必要的內(nèi)存分配,尤其在熱路徑上
- **字符串處理**:優(yōu)先使用 `strings.Builder` 而非 `+` 拼接字符串
- **JSON 處理**:對(duì)于頻繁調(diào)用的代碼,考慮使用 `jsoniter` 等高性能庫(kù)代碼風(fēng)格規(guī)則
# Golang 代碼風(fēng)格規(guī)范
description: Golang 編碼風(fēng)格與格式化規(guī)則
globs: "**/*.go"
alwaysApply: true
## 格式化與命名
- **gofmt**:所有代碼必須使用 `gofmt` 格式化
- **命名約定**:
- 包名:小寫字母,簡(jiǎn)潔明了
- 變量/函數(shù)名:使用 camelCase
- 接口名:以 -er 結(jié)尾(如 Reader, Writer)
- 公開(kāi)函數(shù)/類型:使用 PascalCase
## 代碼結(jié)構(gòu)
- **函數(shù)長(zhǎng)度**:函數(shù)應(yīng)簡(jiǎn)短,原則上不超過(guò) 50 行:cite[10]
- **參數(shù)數(shù)量**:函數(shù)參數(shù)不宜過(guò)多,可考慮使用結(jié)構(gòu)體封裝
- **返回值**:多返回值時(shí),最后一個(gè)是 error 類型
- **注釋規(guī)范**:
- 公共API必須提供有效注釋
- 注釋應(yīng)該是完整的句子
- 使用 `//` 而非 `/* */`
## 控制結(jié)構(gòu)
- **錯(cuò)誤處理**:使用 `if err != nil { return err }` 而非嵌套結(jié)構(gòu)
- **初始化**:變量初始化使用短聲明 `:=`
- **循環(huán)**:使用 for 循環(huán),Go 沒(méi)有 while 循環(huán)API設(shè)計(jì)規(guī)則
# Golang API 設(shè)計(jì)規(guī)范
description: Web API 與微服務(wù)開(kāi)發(fā)規(guī)則
globs: "**/api/**/*.go","**/handler/**/*.go","**/controller/**/*.go"
alwaysApply: false # 針對(duì)API相關(guān)代碼應(yīng)用
## RESTful 設(shè)計(jì)
- **路由命名**:使用復(fù)數(shù)名詞表示資源(如 `/api/users`)
- **HTTP方法**:正確使用 GET(查)、POST(增)、PUT(改)、DELETE(刪)
- **狀態(tài)碼**:返回恰當(dāng)?shù)?HTTP 狀態(tài)碼
## 響應(yīng)格式
- **統(tǒng)一響應(yīng)**:使用統(tǒng)一響應(yīng)格式封裝返回結(jié)果
- **錯(cuò)誤響應(yīng)**:錯(cuò)誤信息應(yīng)包含錯(cuò)誤代碼和描述信息
- **分頁(yè)響應(yīng)**:列表接口支持分頁(yè)
## 中間件使用
- **身份驗(yàn)證**:使用中間件處理身份驗(yàn)證和授權(quán)
- **日志記錄**:記錄請(qǐng)求和響應(yīng)日志
- **超時(shí)控制**:設(shè)置合理的請(qǐng)求超時(shí)時(shí)間第五個(gè),忽略文件
cursor默認(rèn)會(huì)讀取所有的文件,但是如果你有些重要的配置文件,不希望暴露給cursor,就可以配置一個(gè).cursorignore 文件。原理和語(yǔ)法類似.gitignore。
例子
# Ignore all files in the `dist` directory
dist/
# Ignore all `.log` files
*.log
# Ignore specific file `config.json`
config.json





























