AI PUBLISHED UPDATED

如何更好的使用 Cursor

開始閱讀前的注意事項

Table of Contents

Cursor 最常用的快捷鍵

(如果是使用 Mac,請自行將 Control 替換成 Command)

Tab

面對 cursor 的程式碼自動完成功能,請用下列快捷鍵回應:

Chat

Apply

Cursor 你可能不知道的好用功能

Cursor Chat 的應用

Generate Commit Message

Cursor 的 commit 欄位本生有「Generate Commit Message」的按鈕可以使用,推薦可以設定全域的 Cursor Rules 來確保 Cursor 生成的訊息遵循 Conventional Commits,例如可以這樣寫:

When generating commit messages, follow conventional commit format, starting with a category such as: feat:, fix:, docs:, style:, refactor:, perf:, test:, chore:, revert:, etc., then only give one line commit message.

Cursor 注意事項

cursor 在一般模式中讀取檔案最多只能讀 250 行;max 模式最多可以讀 750 行。

我的 Cursor 的 User Rules

點開 Cursor Settings 並進到 Rules 頁面,在 User Rules 標題下寫下你的 Rules。

目前我是以 Cursor 員工分享的 Rules(參考來源連結)為基礎修改成我的 User Rules 如下(文字版本可到這裡複製):

以下是中文翻譯版本(文字版本可到這裡複製):

我的 Cursor 的 Project Rules

除了全域設置,Cursor 還支援專案層級的 Prompt。具體做法是在專案中創建一個 .cursor 資料夾。然後在 .cursor 資料夾內創建子資料夾 rules,並設置不同的 Prompt 檔案。

這裡我覺得需要一些時間嘗試和實作才可以分享應該怎麼寫比較好,不過目前有幾個我看到不錯的分享,可以先用在自己的專案試試看:

Prompts 撰寫技巧

這部分和 Cursor 本身比較沒有關係,但要用的好 Cursor 從底層來看更根本的原則和關鍵因素就是應該如何更好的使用 AI Prompts。

1. 每當開啟一個新的對話時,都從 Goal、Return Format、Warnings、Context 這個架構開始問起。

這是 Open AI 共同創辦人 Greg Brockman 曾推薦的一種 Prompt 寫法,在 X 上廣為流傳 (參考來源連結):

這裡只要好好善用 Cursor 的功能就可以提供充足的脈絡給 AI 模型,所以在 Prompt 的部分最重要的就是將目標/需求描述的足夠清楚。

2. 透過「單一脈絡原則」,確保高品質的回覆

單一脈絡原則(single purpose composers)這個概念源自 Cursor 團隊的 Eric Zakariasson 在 X 上分享過的概念(參考來源連結)。

這邊我的理解是,要讓每個對話串只為了「解決一個特定的目的」。所以當我開啟一個為了解決「目的 A」的 New chat,但是在對話過程中有其他和這個「目的 A」不相關的問題或改動要解決,就直接再開一個 New chat 去提問,之後再回到原本的對話串繼續解決「目的 A」即可。

看到這個概念後,我發現自己其實原本就有習慣用這個概念在使用 AI,我在內心把他稱為「主線任務」和「支線任務」,所以實際上各個對話串就會長得像樹枝那樣。

3. 當問題較為模糊或複雜時,可以在 prompts 的最後加上:If you need clarification or have any questions, feel free to ask.

這樣可以讓 Cursor 主動提問,幫助你補充更多脈絡,進而提升回覆品質或改動結果。(參考來源連結)

4. 當想要保留對話串的重點內容,可以在原本的長對話視窗中,輸入以下的 prompts:Summarize what you did and output in Markdown format that I can copy directly.

5. 一些撰寫文件的推薦 prompts

From existing code

From chat sessions

6. 根據軟體開發的不同階段和情境,提供範例 prompts 作為靈感。

[設計階段]

這裡很推薦可以將技術設計文件直接存放在程式碼庫中。

情境:修改技術設計文件

情境:為文字內容製作圖片

當想要為文字內容製作圖片,可以選擇生成 ASCII 或 Mermaid 圖示。

情境:快速上手程式碼庫

[實作階段]

情境:實作測試驅動開發(TDD)的開發流程

情境:檢查程式碼

情境:撰寫 commit message

如同前面 Cursor 你可能不知道的好用功能段落中有提到的,Cursor 的 commit 欄位本生有「Generate Commit Message」的按鈕可以使用,推薦可以設定全域的 Cursor Rules 來確保 Cursor 生成的訊息遵循 Conventional Commits,例如可以這樣寫:

When generating commit messages, follow conventional commit format, starting with a category such as: feat:, fix:, docs:, style:, refactor:, perf:, test:, chore:, revert:, etc., then only give one line commit message.

情境:撰寫 PR message

如同上一段落我的 Cursor 的 Project Rules 中有提到的,推薦可以在專案相關的 Cursor Rules 中加入撰寫 PR message 的模板(可放在 .cursor/rules/pr_generation.mdc 中)。有了撰寫 PR message 的模板和 Cursor 本身提供的 @git 功能後,就可以使用類似「使用 PR Generation 提示詞為這兩個 commit 撰寫描述」的語句來請 Cursor 幫忙生成 PR message。模板和詳細的說明可以參考 3-6 透過 Cursor 協助生成 PR 描述| ExplainThis

情境:協助 Code Review

Reference