Cursor 使用技巧:Chat、Composer 與 .cursorrules 完整教學
掌握 Cursor AI 的進階使用技巧,包含有效的 prompt 寫法、.cursorrules 設定範例、Composer Agent 模式運用,以及讓 AI 輸出更精準的實戰策略。
資料來源: Cursor 官方文件
為什麼 Cursor 的 Prompt 技巧很重要?
Cursor 給了你強大的 AI 工具,但工具的輸出品質完全取決於你怎麼使用它。一個模糊的指令可能產生需要大量修改的程式碼;一個精準的指令能讓 Cursor 第一次就給出可以直接使用的結果。
本文收錄實際開發場景中驗證有效的 Cursor 使用技巧。
.cursorrules:讓 AI 永遠了解你的專案
.cursorrules 是 Cursor 最被低估的功能。這個放在專案根目錄的設定檔,會在每次 AI 回應前自動注入,讓 AI「記住」你的專案規範。
基本結構
你是一位資深全端工程師,專注於以下技術棧:
- 前端:Next.js 15、TypeScript、Tailwind CSS
- 後端:Node.js、Prisma、PostgreSQL
- 測試:Vitest、Testing Library
程式碼規範:
- 使用函式型元件,避免 class component
- 所有非同步操作使用 async/await,不用 .then()
- 變數命名用英文,註解和錯誤訊息用繁體中文
- 每個函式都要有 TypeScript 型別定義
不要:
- 不要安裝新的 npm 套件,除非我明確要求
- 不要修改 tsconfig.json
- 不要使用 any 型別
不同類型專案的 .cursorrules 範本
React + TypeScript 專案:
使用 React 18 函式型元件和 TypeScript。
State 管理優先用 React hooks,複雜狀態用 Zustand。
CSS 使用 Tailwind CSS,不寫 inline style。
元件檔案命名使用 PascalCase,工具函式用 camelCase。
Python 後端專案:
使用 Python 3.11+,遵循 PEP 8 規範。
Web 框架使用 FastAPI,資料庫使用 SQLAlchemy 2.0。
所有 API endpoint 都要有 Pydantic 型別驗證。
錯誤處理要完整,不要用裸 except。
Chat 的有效 Prompt 寫法
原則:給上下文,說清楚目標
不好的 prompt:
這段程式碼有問題
好的 prompt:
@file src/api/auth.ts 第 45-60 行的 JWT 驗證邏輯在用戶 token 過期時會拋出 undefined error,而不是正確返回 401 狀態碼。請找出問題並修復。
常用 Prompt 模板
除錯(Debug):
這段程式碼的預期行為是 [描述],但實際結果是 [錯誤訊息/錯誤行為]。
可能的原因是什麼?請從最可能的原因開始分析。
重構(Refactor):
請重構 @file [檔案名稱] 中的 [函式名稱],目標是:
1. 減少重複程式碼
2. 提高可讀性
3. 保持原有功能不變,不要改變函式的對外介面
解釋程式碼:
請解釋 @file [檔案名稱] 的作用,特別是:
- 這個模組負責什麼功能?
- 主要的資料流是什麼?
- 有哪些需要注意的邊界條件?
Composer 進階使用
何時用 Composer?
Composer 適合以下場景:
- 新功能開發:「建立一個包含前後端的使用者個人資料編輯功能」
- 大型重構:「把所有 API 呼叫從 fetch 改成使用 axios,並加上統一的錯誤處理」
- 測試生成:「為 src/utils/ 目錄下的所有工具函式生成 Vitest 測試」
Composer Agent 模式
開啟 Agent 模式後,Composer 可以:
- 自動執行終端機指令(安裝套件、執行腳本)
- 讀取多個檔案後再開始修改
- 根據執行結果自動修正
注意:Agent 模式會實際執行指令,使用前確認你了解它要做什麼。
Composer Prompt 技巧
在 Composer 中給指令時,清楚說明「不要動」的部分和「要做到」的成功條件:
在 @folder src/components 中建立一個新的 <DataTable> 元件,要求:
- 支援分頁(pagination)
- 支援排序(sorting)
- 使用 Tailwind CSS 樣式
- 不要修改現有的 <Table> 元件
- 成功條件:能在 /users 頁面正常渲染,並通過 Vitest 測試
@mentions 實戰技巧
| 場景 | 推薦用法 |
|---|---|
| 修改特定功能 | @file components/Auth.tsx 引用相關檔案 |
| 需要最新 API 資訊 | @web React 19 useOptimistic API |
| 遵循官方文件 | @docs 設定 Tailwind 文件來源 |
| 根據最近變更工作 | @git 引用最近的 commit diff |
常見問題
Q:Cursor 的 AI 給出了錯誤的程式碼怎麼辦?
A:先不要接受(不要按 Cmd+Enter),在 Chat 中說明哪裡有問題並要求修正。如果問題出在上下文不足,用 @file 提供更多相關檔案。持續修正比直接放棄重寫通常更有效率。
Q:.cursorrules 的長度有限制嗎? A:沒有硬性限制,但過長的 .cursorrules 會佔用 context 視窗,可能影響 AI 對程式碼本身的理解。建議保持在 200 行以內,把最重要的規範放在前面。
Q:如何讓 Cursor 不要每次都加不需要的程式碼(例如自動加 console.log)? A:在 .cursorrules 中明確說明「不要加 console.log 或 debug 用的程式碼,除非我要求」。明確的負向指令(告訴 AI 不要做什麼)往往和正向指令一樣重要。