Claude Code 完整指南
Claude Code 是什麼?
💡 比喻:你的 AI 程式設計師助手 想像你請了一個全天候的程式設計師助手:
- 他坐在你旁邊,可以直接動你的電腦
- 你用中文說「幫我改那個檔案」,他就改
- 他可以讀你的整個專案、寫檔案、跑指令
- 但他不會自己做決定——你說什麼,他做什麼
這就是 Claude Code。不是聊天機器人,是能動手做事的 AI 助手。
Claude Code vs 其他 AI 工具
工具 能讀檔案嗎 能改檔案嗎 能跑指令嗎 能操作瀏覽器嗎
──────────────────────────────────────────────────────────────────────
ChatGPT 網頁版 ❌ ❌ ❌ ❌
GitHub Copilot ✅ 當前檔案 ✅ 建議補全 ❌ ❌
Cursor ✅ 專案 ✅ 直接改 ❌ ❌
Claude Code ✅ 專案 ✅ 直接改 ✅ ✅(透過 MCP)
簡單說:Claude Code 是目前功能最完整的 AI 開發工具之一。
安裝與設定流程
前置需求
你只需要裝好 Node.js,然後在終端機執行一行指令就好。
💡 比喻:裝 App 安裝 Claude Code 就像在手機上裝 App:
- Node.js = 你的手機作業系統(基礎環境)
- npm install = 去 App Store 下載
- claude = 打開 App
安裝步驟
npm install -g @anthropic-ai/claude-code # 全域安裝 Claude Code 套件
claude --version # 確認安裝成功,顯示版本號
第一次啟動
cd C:/Users/user/MyProject # 進入你的專案資料夾
claude # 啟動 Claude Code 互動介面
第一次啟動會要求你登入 Anthropic 帳號並設定 API Key。
設定 API Key
# 方法 1:環境變數(推薦)
export ANTHROPIC_API_KEY="sk-ant-xxxxx" # 設定你的 API 金鑰為環境變數
# 方法 2:啟動時自動讀取
# Claude Code 會自動偵測環境變數中的金鑰
基本操作:讀檔、寫檔、搜尋、編輯
💡 比喻:遙控器 Claude Code 的每個操作就像遙控器上的按鈕:
- 📖 讀檔 = 按「資訊」鍵,看電視節目介紹
- ✏️ 寫檔 = 按「錄影」鍵,錄下節目
- 🔍 搜尋 = 按「搜尋」鍵,找想看的節目
- 📝 編輯 = 按「編輯」鍵,修改錄影設定
讀取檔案
你說:"幫我看一下 Program.cs 的內容"
AI 回應:讀取 Program.cs,顯示完整內容並解釋每一段的用途
你說:"這個專案有哪些 Controller?"
AI 回應:自動搜尋所有 *Controller.cs 檔案,列出清單
寫入新檔案
你說:"幫我建一個 ProductController.cs,要有 Index 和 Details action"
AI 回應:建立新檔案,寫入完整的 Controller 程式碼
你說:"幫我建一個 Product Model,有 Id、Name、Price 欄位"
AI 回應:建立 Models/Product.cs,包含所有屬性
搜尋程式碼
你說:"搜尋所有用到 DbContext 的地方"
AI 回應:列出所有引用 DbContext 的檔案和行數
你說:"找出所有 TODO 註解"
AI 回應:掃描整個專案,列出所有 TODO
編輯現有檔案
你說:"把 HomeController 的 Index action 改成回傳 JSON"
AI 回應:找到檔案,修改指定的程式碼,顯示修改前後的差異
Session vs Project 概念
💡 比喻:工作日 vs 辦公室
- Session(會話) = 今天的工作日。你進辦公室開始工作,下班就結束。 明天是新的工作日,但辦公室還是同一個。
- Project(專案) = 你的辦公室。不管哪一天來,資料和環境都還在。
Session(會話)
特性:
- 每次啟動 claude 就是一個新的 Session # 類似開新的聊天視窗
- Session 結束後,對話歷史不會保留 # 就像關掉聊天視窗
- 但檔案修改是永久的 # AI 改的檔案不會消失
- 可以用 /clear 清除當前 Session 的記憶 # 重新開始對話
Project(專案)
特性:
- 專案是你的程式碼資料夾 # 例如 C:/Users/user/MyProject
- CLAUDE.md 是專案的永久記憶 # 每次啟動都會讀取
- .claude/ 資料夾存放專案設定 # 包含 MCP 設定等
- 不管開幾次 Session,專案設定都一樣 # 持久化的環境
CLAUDE.md 設定(記憶與規則)
💡 比喻:員工手冊 CLAUDE.md 就像公司的員工手冊:
- 新員工(新 Session)報到第一天就要讀
- 裡面寫了公司規則(程式風格)
- 寫了常見 SOP(專案慣例)
- 每次來上班都要遵守
CLAUDE.md 的位置
你的專案/
├── CLAUDE.md # 放在專案根目錄,每次啟動自動讀取
├── Program.cs # 你的程式碼
├── Controllers/ # Controller 資料夾
└── .claude/ # Claude Code 的設定資料夾
CLAUDE.md 範例內容
# 專案規則
## 技術棧
- ASP.NET Core 8.0 MVC # 使用的框架版本
- Entity Framework Core + SQLite # ORM 和資料庫
- Bootstrap 5 # 前端 CSS 框架
## 程式風格
- 所有註解用繁體中文 # 註解語言規範
- Controller 名稱用英文 # 命名規範
- 每個 public method 都要寫 XML 文件註解 # 文件要求
## 專案結構
- Controllers/ 放所有 Controller # 資料夾用途說明
- Models/ 放所有資料模型 # 讓 AI 知道檔案放哪
- Views/ 按 Controller 名稱分子資料夾 # View 的組織方式
## 注意事項
- 不要刪除任何現有的 Migration # 重要警告
- 密碼和 API Key 用環境變數 # 安全規範
- 每次修改完要執行 dotnet build 確認編譯通過 # 品質要求
為什麼 CLAUDE.md 很重要?
沒有 CLAUDE.md:
Session 1:"用繁體中文寫註解" → AI 照做
Session 2:(忘了) → AI 用英文寫註解
Session 3:"用繁體中文寫註解" → 又要重複說一次
有 CLAUDE.md:
Session 1:自動讀取規則 → AI 用繁體中文寫註解
Session 2:自動讀取規則 → AI 用繁體中文寫註解(不用重複說)
Session 3:自動讀取規則 → AI 用繁體中文寫註解(永遠記得)
權限管理 (bypassPermissions)
💡 比喻:免蓋章放行 正常情況下,AI 要改檔案時會問你:「可以改嗎?」 就像公司裡每個動作都要蓋章批准。 開啟 bypassPermissions 就像給 AI 一張「免蓋章通行證」—— 他可以直接動手,不用每次都問你。
預設行為(需要確認)
你說:"把 HomeController 的標題改成 '歡迎'"
AI 回應:"我想要修改 HomeController.cs,可以嗎?" [Y/n] # 每次都要按 Y
你按:Y
AI 才開始改
開啟 bypassPermissions
在 CLAUDE.md 或設定中加入:
{
"permissions": {
"allow": ["Read", "Write", "Edit", "Bash"], // 允許讀寫編輯和執行指令
"deny": [] // 沒有禁止的操作
}
}
什麼時候該開?
✅ 適合開啟的情況:
- 你在自己的開發環境 # 低風險環境
- 你熟悉 AI 的操作模式 # 你知道它會做什麼
- 你想要快速開發,不想一直按 Y # 提高效率
❌ 不適合開啟的情況:
- 生產環境 # 風險太高
- 你剛開始用 Claude Code # 還不熟悉
- 涉及敏感資料或金流 # 需要人工審核
常用斜線指令
💡 比喻:快捷鍵 斜線指令就像鍵盤快捷鍵:
- /help = F1(求助)
- /status = Ctrl+I(看資訊)
- /clear = Ctrl+L(清畫面)
常用指令一覽
指令 功能 使用時機
──────────────────────────────────────────────────────────
/help 顯示所有可用指令 不知道能做什麼的時候
/status 顯示當前狀態 想知道 Session 資訊
/clear 清除對話記憶 對話太長想重新開始
/compact 壓縮對話歷史 對話太長但不想清除
/init 初始化 CLAUDE.md 第一次建立專案記憶
/cost 顯示 API 使用量 想知道花了多少錢
/model 切換使用的模型 想換不同的 AI 模型
使用範例
# 查看所有可用指令
/help # 顯示完整的指令說明
# 查看當前 Session 狀態
/status # 顯示模型、token 使用量等資訊
# 對話太長時壓縮記憶
/compact # 保留重要資訊,壓縮其餘部分
# 重新開始對話
/clear # 清除所有對話歷史
# 自動產生 CLAUDE.md
/init # AI 分析專案結構,自動寫 CLAUDE.md
🤔 我這樣寫為什麼會錯?
❌ 錯誤 1:指令太模糊,AI 做出來的不是你要的
❌ 你說:"幫我做一個網站" # 太模糊,AI 不知道你要什麼
AI 可能做出一個空白的 Hello World 頁面 # 因為沒有具體需求
✅ 正確做法:
"用 ASP.NET Core 8.0 MVC 做一個吉他教學網站, # 指定技術棧
功能:首頁、課程列表、聯絡表單, # 指定功能
用 Bootstrap 5,暖米色系, # 指定風格
資料庫用 SQLite + Entity Framework Core" # 指定資料庫
💡 記住:你給 AI 的指令越具體,結果越接近你要的。
❌ 錯誤 2:沒有建 CLAUDE.md,每次都要重複說規則
❌ 常見情況:
Session 1:"註解用繁體中文" → AI 照做 # 第一次有說
Session 2:忘了說 → AI 用英文寫 # 忘了就沒有
Session 3:"上次不是說好了嗎?" → AI 不記得 # Session 間沒有記憶
✅ 正確做法:
1. 執行 /init 讓 AI 自動建立 CLAUDE.md # 或自己手動建
2. 在 CLAUDE.md 寫下所有規則 # 一次寫好,永久生效
3. 以後每次啟動都會自動讀取 # 不用再重複說明
❌ 錯誤 3:開了 bypassPermissions 卻不檢查 AI 的修改
❌ 危險情況:
開啟 bypassPermissions # AI 不需要確認就能改檔案
→ AI 誤解需求,改錯檔案 # 沒有人工審核
→ 改壞了才發現 # 來不及了
✅ 正確做法:
1. 開啟 bypassPermissions 沒關係 # 提高效率是好事
2. 但要搭配 Git 版本控制 # 每次改完先 commit
3. 改完後用 git diff 檢查修改內容 # 養成檢查的習慣
4. 有問題就 git checkout 回復 # 隨時可以反悔
本章重點整理
| 主題 | 重點 |
|---|---|
| Claude Code 是什麼 | 能讀寫檔案、跑指令的 AI 開發助手 |
| 安裝方式 | npm install -g @anthropic-ai/claude-code |
| 基本操作 | 用自然語言指揮 AI 讀檔、寫檔、搜尋、編輯 |
| Session vs Project | Session 是單次對話,Project 是持久化環境 |
| CLAUDE.md | 專案的永久記憶,每次啟動自動讀取 |
| bypassPermissions | 讓 AI 不用每次問確認,搭配 Git 使用 |
| 斜線指令 | /help, /status, /clear, /compact, /init |