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 可以:

  1. 自動執行終端機指令(安裝套件、執行腳本)
  2. 讀取多個檔案後再開始修改
  3. 根據執行結果自動修正

注意: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 不要做什麼)往往和正向指令一樣重要。