本指南提供使用 Claude Code 進行常見工作流程的逐步教學。每個教學包括清晰的指示、範例命令和最佳實踐,幫助您充分利用 Claude Code。

目錄

繼續先前的對話

無縫繼續您的工作

何時使用: 您已經使用 Claude Code 處理某項任務,需要在稍後的會話中繼續之前的工作。

Claude Code 提供兩種繼續先前對話的選項:

  • --continue 自動繼續最近的對話
  • --resume 顯示對話選擇器
1

繼續最近的對話

claude --continue

這會立即繼續您最近的對話,無需任何提示。

2

在非互動模式下繼續

claude --continue --print "繼續我的任務"

--print--continue 一起使用,以非互動模式繼續最近的對話,非常適合腳本或自動化。

3

顯示對話選擇器

claude --resume

這會顯示一個互動式對話選擇器,顯示:

  • 對話開始時間
  • 初始提示或對話摘要
  • 訊息數量

使用方向鍵導航並按 Enter 選擇對話。

工作原理:

  1. 對話儲存:所有對話都會自動在本地保存,包含完整的訊息歷史
  2. 訊息反序列化:繼續時,整個訊息歷史會被還原以維持上下文
  3. 工具狀態:先前對話中的工具使用和結果會被保留
  4. 上下文還原:對話會在保留所有先前上下文的情況下繼續

提示:

  • 對話歷史儲存在您的機器本地
  • 使用 --continue 快速訪問您最近的對話
  • 當您需要選擇特定的過去對話時,使用 --resume
  • 繼續時,您將看到整個對話歷史,然後再繼續
  • 繼續的對話會使用與原始對話相同的模型和配置開始

範例:

# 繼續最近的對話
claude --continue

# 繼續最近的對話並指定提示
claude --continue --print "顯示我們的進度"

# 顯示對話選擇器
claude --resume

# 在非互動模式下繼續最近的對話
claude --continue --print "再次運行測試"

理解新的程式碼庫

快速了解程式碼庫概況

何時使用: 您剛加入一個新專案,需要快速了解其結構。

1

導航到專案根目錄

cd /path/to/project 
2

啟動 Claude Code

claude 
3

請求高層次概述

> 給我這個程式碼庫的概述 
4

深入了解特定組件

> 解釋這裡使用的主要架構模式 
> 主要的數據模型有哪些?
> 身份驗證是如何處理的?

提示:

  • 從廣泛的問題開始,然後縮小到特定領域
  • 詢問專案中使用的編碼慣例和模式
  • 請求專案特定術語的詞彙表

查找相關程式碼

何時使用: 您需要找到與特定功能或特性相關的程式碼。

1

請 Claude 查找相關文件

> 找出處理用戶身份驗證的文件 
2

了解組件如何互動

> 這些身份驗證文件如何協同工作? 
3

了解執行流程

> 追蹤從前端到數據庫的登錄過程 

提示:

  • 明確說明您要尋找的內容
  • 使用專案中的領域語言

高效修復錯誤

診斷錯誤訊息

何時使用: 您遇到了錯誤訊息,需要找出並修復其來源。

1

與 Claude 分享錯誤

> 當我運行 npm test 時看到錯誤 
2

請求修復建議

> 建議幾種方法來修復 user.ts 中的 @ts-ignore 
3

應用修復

> 更新 user.ts 以添加您建議的空值檢查 

提示:

  • 告訴 Claude 重現問題和獲取堆疊追蹤的命令
  • 提及重現錯誤的步驟
  • 讓 Claude 知道錯誤是間歇性的還是一致的

重構程式碼

現代化舊程式碼

何時使用: 您需要更新舊程式碼以使用現代模式和實踐。

1

識別需要重構的舊程式碼

> 在我們的程式碼庫中查找已棄用的 API 使用 
2

獲取重構建議

> 建議如何重構 utils.js 以使用現代 JavaScript 功能 
3

安全地應用更改

> 重構 utils.js 以使用 ES2024 功能,同時保持相同的行為 
4

驗證重構

> 為重構的程式碼運行測試 

提示:

  • 請 Claude 解釋現代方法的好處
  • 在需要時請求保持向後兼容性
  • 以小的、可測試的增量進行重構

處理測試

增加測試覆蓋率

何時使用: 您需要為未覆蓋的程式碼添加測試。

1

識別未測試的程式碼

> 查找 NotificationsService.swift 中未被測試覆蓋的函數 
2

生成測試框架

> 為通知服務添加測試 
3

添加有意義的測試案例

> 為通知服務中的邊緣條件添加測試案例 
4

運行並驗證測試

> 運行新測試並修復任何失敗 

提示:

  • 請求覆蓋邊緣案例和錯誤條件的測試
  • 在適當時請求單元測試和集成測試
  • 讓 Claude 解釋測試策略

建立拉取請求

生成全面的 PR

何時使用: 您需要為您的更改創建一個文檔完善的拉取請求。

1

總結您的更改

> 總結我對身份驗證模塊所做的更改 
2

使用 Claude 生成 PR

> 創建一個 pr 
3

審查和完善

> 用更多關於安全改進的上下文來增強 PR 描述 
4

添加測試詳情

> 添加有關這些更改如何被測試的信息 

提示:

  • 直接請 Claude 為您創建 PR
  • 在提交前審查 Claude 生成的 PR
  • 請 Claude 突出潛在風險或考慮事項

處理文件

生成程式碼文件

何時使用: 您需要為您的程式碼添加或更新文件。

1

識別未文檔化的程式碼

> 在身份驗證模塊中查找沒有適當 JSDoc 註釋的函數 
2

生成文件

> 為 auth.js 中未文檔化的函數添加 JSDoc 註釋 
3

審查和增強

> 用更多上下文和示例改進生成的文件 
4

驗證文件

> 檢查文件是否遵循我們的專案標準 

提示:

  • 指定您想要的文件風格(JSDoc、docstrings 等)
  • 在文件中請求示例
  • 為公共 API、接口和複雜邏輯請求文件

處理圖像

分析圖像和截圖

何時使用: 您需要處理程式碼庫中的圖像或獲取 Claude 幫助分析圖像內容。

1

將圖像添加到對話中

您可以使用以下任何方法:

  1. 將圖像拖放到 Claude Code 窗口中
  2. 複製圖像並使用 cmd+v(在 Mac 上)將其粘貼到 CLI 中
  3. 提供圖像路徑 claude “分析這個圖像:/path/to/your/image.png”
2

請 Claude 分析圖像

> 這個圖像顯示了什麼? 
> 描述這個截圖中的 UI 元素 
> 這個圖表中有任何問題元素嗎? 
3

使用圖像作為上下文

> 這是錯誤的截圖。是什麼導致了它? 
> 這是我們當前的數據庫架構。我們應該如何修改它以適應新功能? 
4

從視覺內容獲取程式碼建議

> 生成 CSS 以匹配這個設計模型 
> 什麼 HTML 結構可以重新創建這個組件? 

提示:

  • 當文字描述不清晰或繁瑣時使用圖像
  • 包括錯誤、UI 設計或圖表的截圖以提供更好的上下文
  • 您可以在一個對話中處理多個圖像
  • 圖像分析適用於圖表、截圖、模型等

使用延伸思考

利用 Claude 的延伸思考處理複雜任務

何時使用: 當處理複雜的架構決策、具有挑戰性的錯誤或規劃需要深度推理的多步驟實現時。

1

提供上下文並請 Claude 思考

> 我需要使用 OAuth2 為我們的 API 實現一個新的身份驗證系統。深入思考在我們的程式碼庫中實現這一點的最佳方法。 

Claude 將從您的程式碼庫收集相關信息,並使用延伸思考,這將在界面中可見。

2

通過後續提示完善思考

> 思考這種方法中潛在的安全漏洞 
> 更深入地思考我們應該處理的邊緣情況 

獲取延伸思考最大價值的提示:

延伸思考對以下複雜任務最有價值:

  • 規劃複雜的架構變更
  • 調試複雜問題
  • 為新功能創建實現計劃
  • 理解複雜的程式碼庫
  • 評估不同方法之間的權衡

您提示思考的方式會導致不同程度的思考深度:

  • “think”(思考)觸發基本的延伸思考
  • 強化短語如 “think more”(多思考)、“think a lot”(大量思考)、“think harder”(更努力思考)或 “think longer”(更長時間思考)觸發更深入的思考

有關更多延伸思考提示技巧,請參閱延伸思考提示

Claude 將在回應上方以斜體灰色文字顯示其思考過程。


設置專案記憶

創建有效的 CLAUDE.md 文件

何時使用: 您想設置一個 CLAUDE.md 文件來存儲重要的專案信息、慣例和常用命令。

1

為您的程式碼庫引導 CLAUDE.md

> /init 

提示:

  • 包括常用命令(構建、測試、lint)以避免重複搜索
  • 記錄程式碼風格偏好和命名慣例
  • 添加特定於您專案的重要架構模式
  • CLAUDE.md 記憶可用於與團隊共享的指示和您的個人偏好。有關更多詳情,請參閱管理 Claude 的記憶

設置模型上下文協議 (MCP)

模型上下文協議 (MCP) 是一個開放協議,使 LLM 能夠訪問外部工具和數據源。有關更多詳情,請參閱 MCP 文檔

使用第三方 MCP 服務器風險自負。確保您信任 MCP 服務器,並特別小心使用與互聯網通信的 MCP 服務器,因為這些可能使您面臨提示注入風險。

配置 MCP 服務器

何時使用: 您想通過使用模型上下文協議連接到專門工具和外部服務器來增強 Claude 的能力。

1

添加 MCP Stdio 服務器

# 基本語法
claude mcp add <name> <command> [args...]

# 示例:添加本地服務器
claude mcp add my-server -e API_KEY=123 -- /path/to/server arg1 arg2
2

添加 MCP SSE 服務器

# 基本語法
claude mcp add --transport sse <name> <url>

# 示例:添加 SSE 服務器
claude mcp add --transport sse sse-server https://example.com/sse-endpoint
3

管理您的 MCP 服務器

# 列出所有配置的服務器
claude mcp list

# 獲取特定服務器的詳細信息
claude mcp get my-server

# 移除服務器
claude mcp remove my-server

提示:

  • 使用 -s--scope 標誌指定配置存儲位置:
    • local(默認):僅在當前專案中對您可用(在舊版本中稱為 project
    • project:通過 .mcp.json 文件與專案中的所有人共享
    • user:對您在所有專案中可用(在舊版本中稱為 global
  • 使用 -e--env 標誌設置環境變量(例如,-e KEY=value
  • 使用 MCP_TIMEOUT 環境變量配置 MCP 服務器啟動超時(例如,MCP_TIMEOUT=10000 claude 設置 10 秒超時)
  • 使用 Claude Code 中的 /mcp 命令隨時檢查 MCP 服務器狀態
  • MCP 遵循客戶端-服務器架構,其中 Claude Code(客戶端)可以連接到多個專門服務器

理解 MCP 服務器範圍

何時使用: 您想了解不同的 MCP 範圍如何工作以及如何與團隊共享服務器。

1

本地範圍的 MCP 服務器

默認範圍(local)將 MCP 服務器配置存儲在您的專案特定用戶設置中。這些服務器僅在您在當前專案工作時對您可用。

# 添加本地範圍的服務器(默認)
claude mcp add my-private-server /path/to/server

# 明確指定本地範圍
claude mcp add my-private-server -s local /path/to/server
2

專案範圍的 MCP 服務器(.mcp.json)

專案範圍的服務器存儲在專案根目錄的 .mcp.json 文件中。此文件應該被檢入版本控制以與您的團隊共享服務器。

# 添加專案範圍的服務器
claude mcp add shared-server -s project /path/to/server

這會創建或更新一個 .mcp.json 文件,結構如下:

{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}
3

用戶範圍的 MCP 服務器

用戶範圍的服務器在您機器上的所有專案中對您可用,並且對您是私有的。

# 添加用戶服務器
claude mcp add my-user-server -s user /path/to/server

提示:

  • 本地範圍的服務器優先於同名的專案範圍和用戶範圍服務器
  • 專案範圍的服務器(在 .mcp.json 中)優先於同名的用戶範圍服務器
  • 在使用 .mcp.json 中的專案範圍服務器之前,Claude Code 會提示您出於安全考慮批准它們
  • .mcp.json 文件旨在被檢入版本控制以與您的團隊共享 MCP 服務器
  • 專案範圍的服務器使得確保團隊中的每個人都能訪問相同的 MCP 工具變得容易
  • 如果您需要重置對哪些專案範圍服務器啟用或禁用的選擇,請使用 claude mcp reset-project-choices 命令

連接到 Postgres MCP 服務器

何時使用: 您想給 Claude 只讀訪問 PostgreSQL 數據庫的權限,用於查詢和架構檢查。

1

添加 Postgres MCP 服務器

claude mcp add postgres-server /path/to/postgres-mcp-server --connection-string "postgresql://user:pass@localhost:5432/mydb"
2

使用 Claude 查詢您的數據庫

# 在您的 Claude 會話中,您可以詢問有關您的數據庫的問題

> 描述我們用戶表的架構
> 系統中最近的訂單是什麼?
> 顯示客戶和發票之間的關係

提示:

  • Postgres MCP 服務器為安全起見提供只讀訪問
  • Claude 可以幫助您探索數據庫結構並運行分析查詢
  • 您可以使用這個來快速了解不熟悉專案中的數據庫架構
  • 確保您的連接字符串使用具有最低所需權限的適當憑證

從 JSON 配置添加 MCP 服務器

何時使用: 您有一個單一 MCP 服務器的 JSON 配置,想要將其添加到 Claude Code。

1

從 JSON 添加 MCP 服務器

# 基本語法
claude mcp add-json <name> '<json>'

# 示例:使用 JSON 配置添加 stdio 服務器
claude mcp add-json weather-api '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'
2

驗證服務器已添加

claude mcp get weather-api

提示:

  • 確保 JSON 在您的 shell 中正確轉義
  • JSON 必須符合 MCP 服務器配置架構
  • 您可以使用 -s global 將服務器添加到您的全局配置而不是專案特定配置

從 Claude Desktop 導入 MCP 服務器

何時使用: 您已經在 Claude Desktop 中配置了 MCP 服務器,並希望在 Claude Code 中使用相同的服務器,而無需手動重新配置它們。

1

從 Claude Desktop 導入服務器

# 基本語法 
claude mcp add-from-claude-desktop 
2

選擇要導入的服務器

運行命令後,您將看到一個互動式對話框,允許您選擇要導入的服務器。

3

驗證服務器已導入

claude mcp list 

提示:

  • 此功能僅適用於 macOS 和 Windows Subsystem for Linux (WSL)
  • 它從這些平台上的標準位置讀取 Claude Desktop 配置文件
  • 使用 -s global 標誌將服務器添加到您的全局配置
  • 導入的服務器將與 Claude Desktop 中的名稱相同
  • 如果已存在同名的服務器,它們將獲得數字後綴(例如,server_1

將 Claude Code 用作 MCP 服務器

何時使用: 您希望將 Claude Code 本身用作 MCP 服務器,使其他應用程序可以連接,提供它們 Claude 的工具和功能。

1

將 Claude 啟動為 MCP 服務器

# 基本語法
claude mcp serve
2

從另一個應用程序連接

您可以從任何 MCP 客戶端連接到 Claude Code MCP 服務器,例如 Claude Desktop。如果您使用的是 Claude Desktop,可以使用以下配置添加 Claude Code MCP 服務器:

{
  "command": "claude",
  "args": ["mcp", "serve"],
  "env": {}
}

提示:

  • 服務器提供對 Claude 的工具的訪問,如 View、Edit、LS 等
  • 在 Claude Desktop 中,嘗試讓 Claude 讀取目錄中的文件、進行編輯等
  • 請注意,此 MCP 服務器只是將 Claude Code 的工具暴露給您的 MCP 客戶端,因此您自己的客戶端負責為個別工具調用實現用戶確認

將 Claude 用作類 Unix 工具

將 Claude 添加到您的驗證過程

何時使用: 您想將 Claude Code 用作 linter 或程式碼審查者。

步驟:

1

將 Claude 添加到您的構建腳本

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p '你是一個 linter。請查看與 main 分支的變更並報告任何與拼寫錯誤相關的問題。在一行上報告文件名和行號,在第二行上描述問題。不要返回任何其他文本。'"
    }
}

管道輸入,管道輸出

何時使用: 您想將數據管道輸入到 Claude,並以結構化格式獲取數據。

1

通過 Claude 管道數據

cat build-error.txt | claude -p '簡明扼要地解釋這個構建錯誤的根本原因' > output.txt

控制輸出格式

何時使用: 您需要特定格式的 Claude 輸出,特別是當將 Claude Code 集成到腳本或其他工具中時。

1

使用文本格式(默認)

cat data.txt | claude -p '總結這些數據' --output-format text > summary.txt

這只輸出 Claude 的純文本回應(默認行為)。

2

使用 JSON 格式

cat code.py | claude -p '分析這段程式碼中的錯誤' --output-format json > analysis.json

這輸出一個包含元數據(包括成本和持續時間)的 JSON 消息數組。

3

使用流式 JSON 格式

cat log.txt | claude -p '解析這個日誌文件中的錯誤' --output-format stream-json

這在 Claude 處理請求時實時輸出一系列 JSON 對象。每條消息都是一個有效的 JSON 對象,但如果連接起來,整個輸出不是有效的 JSON。

提示:

  • 當您只需要 Claude 的回應時,使用 --output-format text 進行簡單集成
  • 當您需要完整的對話日誌時,使用 --output-format json
  • 當您需要每個對話回合的實時輸出時,使用 --output-format stream-json

建立自訂斜線命令

Claude Code 支持您可以創建的自定義斜線命令,以快速執行特定提示或任務。

創建專案特定命令

何時使用: 您想為您的專案創建可重用的斜線命令,所有團隊成員都可以使用。

1

在您的專案中創建命令目錄

mkdir -p .claude/commands
2

為每個命令創建 Markdown 文件

echo "分析這段程式碼的性能並建議三個具體的優化:" > .claude/commands/optimize.md 
3

在 Claude Code 中使用您的自定義命令

claude > /project:optimize 

提示:

  • 命令名稱來源於文件名(例如,optimize.md 變成 /project:optimize
  • 您可以在子目錄中組織命令(例如,.claude/commands/frontend/component.md 變成 /project:frontend:component
  • 專案命令對克隆存儲庫的每個人都可用
  • Markdown 文件內容成為調用命令時發送給 Claude 的提示

使用 $ARGUMENTS 添加命令參數

何時使用: 您想創建可以接受用戶額外輸入的靈活斜線命令。

1

創建帶有 $ARGUMENTS 佔位符的命令文件

echo "查找並修復問題 #$ARGUMENTS。按照以下步驟:1. 理解票據中描述的問題 2. 在我們的程式碼庫中找到相關程式碼 3. 實現解決根本原因的解決方案 4. 添加適當的測試 5. 準備簡潔的 PR 描述" > .claude/commands/fix-issue.md 
2

使用帶有問題編號的命令

claude > /project:fix-issue 123 

這將在提示中將 $ARGUMENTS 替換為 “123”。

提示:

  • $ARGUMENTS 佔位符會被命令後面的任何文本替換
  • 您可以在命令模板中的任何位置放置 $ARGUMENTS
  • 其他有用的應用:為特定函數生成測試案例,為組件創建文檔,審查特定文件中的程式碼,或將內容翻譯成指定語言

創建個人斜線命令

何時使用: 您想創建在所有專案中都可用的個人斜線命令。

1

在您的主文件夾中創建命令目錄

mkdir -p ~/.claude/commands 
2

為每個命令創建 Markdown 文件

echo "審查這段程式碼的安全漏洞,重點關注:" > ~/.claude/commands/security-review.md 
3

使用您的個人自定義命令

claude > /user:security-review 

提示:

  • 個人命令以 /user: 為前綴,而不是 /project:
  • 個人命令只對您可用,不與您的團隊共享
  • 個人命令在您的所有專案中都可用
  • 您可以將這些用於不同程式碼庫之間的一致工作流程

使用 Git 工作樹運行並行 Claude Code 會話

使用工作樹實現隔離的編碼環境

何時使用: 您需要同時處理多個任務,並在 Claude Code 實例之間完全隔離程式碼。

1

了解 Git 工作樹

Git 工作樹允許您從同一存儲庫將多個分支檢出到單獨的目錄中。每個工作樹都有自己的工作目錄,文件隔離,同時共享相同的 Git 歷史。在官方 Git 工作樹文檔中了解更多。

2

創建新的工作樹

# 使用新分支創建新工作樹 
git worktree add ../project-feature-a -b feature-a

# 或使用現有分支創建工作樹
git worktree add ../project-bugfix bugfix-123

這會創建一個新目錄,其中包含您存儲庫的單獨工作副本。

3

在每個工作樹中運行 Claude Code

# 導航到您的工作樹 
cd ../project-feature-a

# 在這個隔離環境中運行 Claude Code
claude
4

在另一個終端中:

cd ../project-bugfix
claude
5

管理您的工作樹

# 列出所有工作樹
git worktree list

# 完成後移除工作樹
git worktree remove ../project-feature-a

提示:

  • 每個工作樹都有自己獨立的文件狀態,非常適合並行 Claude Code 會話
  • 在一個工作樹中所做的更改不會影響其他工作樹,防止 Claude 實例相互干擾
  • 所有工作樹共享相同的 Git 歷史和遠程連接
  • 對於長時間運行的任務,您可以讓 Claude 在一個工作樹中工作,同時在另一個工作樹中繼續開發
  • 使用描述性目錄名稱,以便輕鬆識別每個工作樹的任務
  • 記得根據您專案的設置在每個新工作樹中初始化您的開發環境。根據您的技術棧,這可能包括:
    • JavaScript 專案:運行依賴安裝(npm installyarn
    • Python 專案:設置虛擬環境或使用包管理器安裝
    • 其他語言:遵循您專案的標準設置過程

下一步

Claude Code 參考實現

克隆我們的開發容器參考實現。