第 6 課:設定與設定
學習目標
完成本課程後,您將能夠:
- 理解五種設定範圍
- 建立和管理設定檔
- 有效地設定常見設定
- 使用環境變數
- 為專案脈絡設定 CLAUDE.md
- 使用
/config互動式設定
先決條件
- 完成第 1-5 課 - 核心操作和技能
- 文字編輯器 - 用於編輯設定檔
- 基本 JSON 知識 - 設定檔使用 JSON 格式
預估時間: 20 分鐘
設定範圍
Claude Code 支援多個設定範圍,允許您在不同層級自訂行為。
五種範圍(優先順序)
設定按此優先順序合併(較高優先順序覆蓋較低):
1. Managed(最低優先順序)
│
2. CLI Flags
│
3. User
│
4. Local
│
5. Project(最高優先順序)
1. Managed Settings
位置: 安裝目錄 用途: 預設值 可編輯: 否(由 Claude Code 管理) 包含: 開箱即用的基本設定
範例: 預設模型選擇、基本權限
2. CLI Flags
用途: 覆蓋單一工作階段的設定 優先順序: 覆蓋 managed 和 user 設定 用法: 命令列引數
範例:
claude --model claude-opus-4-5
claude --mode accept-edits
claude --max-tokens 100000
3. User Settings
位置:
- Linux/macOS:
~/.config/claude-code/settings.json - Windows:
%APPDATA%\\claude-code\\settings.json
用途: 個人偏好設定 適用於: 所有 Claude Code 工作階段(除非被覆蓋) 可編輯: 是
使用案例:
- 偏好的模型
- 預設權限模式
- 個人 API 金鑰(如果需要)
4. Local Settings
位置: ./.claude/settings.json
用途: 儲存庫特定設定
適用於: 在此目錄啟動的工作階段
Git 追蹤: 是(通常)
使用案例:
- 團隊共享專案設定
- 專案特定工具偏好
- 團隊權限預設值
5. Project Settings
位置: ./.claude-code/settings.json
用途: 目前專案設定
最高優先順序: 覆蓋所有其他範圍
使用案例:
- 實驗特定設定
- 臨時設定
- 覆蓋團隊設定在本機
建立設定檔
方法 1:使用 /config(推薦)
建立設定檔最簡單的方法:
互動式設定:
You> /config
Claude 將引導您完成:
- 建立適當的設定檔
- 設定常見選項
- 解釋每個設定
範例流程:
You> /config
Claude: 我將協助您設定 Claude Code。
您想設定哪個範圍?
1. User(適用於所有專案)
2. Local(適用於此儲存庫)
3. Project(適用於目前專案)
選擇一個數字 [1-3]: 2
Claude: 建立 .claude/settings.json...
您偏好的權限模式是什麼?
[1] Default(要求所有操作)
[2] Accept Edits(自動核准編輯)
[3] Don't Ask(自動核准大多數操作)
選擇 [1-3]: 1
Claude: 設定已儲存!
方法 2:手動建立
手動建立設定檔:
User settings 範例:
mkdir -p ~/.config/claude-code
nano ~/.config/claude-code/settings.json
基本設定範本:
{
"model": "claude-sonnet-4-5",
"permissionMode": "default",
"maxTokens": 200000,
"temperature": 0.7,
"permissions": {
"allowedOperations": [],
"deniedOperations": []
},
"mcpServers": {}
}
常見設定設定
模型選擇
選擇使用哪個 Claude 模型:
可用模型:
claude-opus-4-5- 最強大,最昂貴claude-sonnet-4-5- 平衡效能和成本(預設)claude-haiku-4-5- 最快,最便宜
設定:
{
"model": "claude-sonnet-4-5"
}
何時使用每個:
- Opus: 複雜推理、架構、關鍵功能
- Sonnet: 大多數開發任務(推薦預設)
- Haiku: 快速問題、簡單任務、成本敏感工作
權限模式
設定預設權限行為:
設定:
{
"permissionMode": "default"
}
選項:
default- 要求所有操作(對初學者安全)accept-edits- 自動核准編輯dont-ask- 自動核准大多數操作bypass- 無提示(請小心使用)
Token 限制
控制最大脈絡大小:
設定:
{
"maxTokens": 200000
}
考量:
- 較高限制 = 更多脈絡,更高成本
- 較低限制 = 更快回應,更低成本
- 預設通常是最適的
Temperature
控制回應隨機性(創造力):
設定:
{
"temperature": 0.7
}
範圍: 0.0 - 1.0
- 0.0 - 0.3: 確定性,專注(適合程式碼產生)
- 0.4 - 0.7: 平衡(推薦)
- 0.8 - 1.0: 創造,多樣(適合腦力激盪)
MCP Servers
設定 MCP 整合(在第 7 課中詳細說明):
設定:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-github"]
}
}
}
語言設定(2.1.x 新增!)
設定 Claude 的回應語言。
設定:
{
"language": "japanese"
}
支援的語言: 任何 Claude 瞭解的語言(西班牙文、法文、德文、日文、中文等)
使用情況:
- 非英文開發團隊
- 本地化回應
- 多語言文件
萬用字元權限(2.1.x 新增!)
使用萬用字元建立彈性的權限規則。
設定:
{
"permissions": {
"allowedOperations": [
"Bash(*)", // 所有 bash 指令
"Bash(npm *)", // 所有 npm 指令
"Bash(git *)", // 所有 git 指令
"Bash(* test)", // 以 "test" 結尾的指令
"Read(*.md)", // 所有 markdown 檔案
"Edit(src/*)" // src/ 中的所有檔案
]
}
}
完整的萬用字元模式,請參閱**第 20 課:2.1.x 進階功能**。
代理團隊設定(2.1.33 新增!)
設定代理團隊用於分割窗格協作。
teammateMode 設定:
{
"teammateMode": "tmux" // 或 "wezterm", "iterm2", "in-process"
}
agentTeams 設定:
{
"agentTeams": {
"fullstack": {
"name": "全端團隊",
"teammates": [
{
"name": "backend",
"agentType": "general-purpose",
"model": "claude-sonnet-4-5",
"systemPrompt": "你是一名後端開發人員。"
},
{
"name": "frontend",
"agentType": "general-purpose",
"model": "claude-sonnet-4-5",
"systemPrompt": "你是一名前端開發人員。"
}
]
}
}
}
完整的代理團隊指南,請參閱**第 18 課:代理團隊與隊友**。
環境變數
環境變數提供另一種設定 Claude Code 的方法。
常見環境變數
API Key:
export ANTHROPIC_API_KEY="your-api-key-here"
模型選擇:
export CLAUDE_MODEL="claude-sonnet-4-5"
設定目錄:
export CLAUDE_CONFIG_DIR="/custom/path"
權限模式:
export CLAUDE_PERMISSION_MODE="default"
設定環境變數
臨時(目前工作階段僅):
export CLAUDE_MODEL="claude-opus-4-5"
claude
永久(新增到 shell profile):
~/.bashrc 或 ~/.zshrc:
# Claude Code 設定
export ANTHROPIC_API_KEY="your-key"
export CLAUDE_MODEL="claude-sonnet-4-5"
export CLAUDE_PERMISSION_MODE="accept-edits"
然後重新載入:
source ~/.bashrc # 或 source ~/.zshrc
專案脈絡的 CLAUDE.md
CLAUDE.md 提供專案特定脈絡,Claude 在跨工作階段中使用。
在 CLAUDE.md 中包含什麼
專案概覽:
# 專案名稱
專案的簡要描述。
架構:
## 架構
- Frontend:使用 TypeScript 的 React
- Backend:具有 Express 的 Node.js
- Database:PostgreSQL
慣例:
## 程式碼慣例
- 使用 TypeScript strict mode
- 遵循 Python 的 PEP 8
- 為所有新功能撰寫測試
重要檔案:
## 重要檔案
- `src/api/` - API 端點
- `src/models/` - 資料模型
- `tests/` - 測試檔案
建立 CLAUDE.md
方法 1:使用 /memory skill
You> /memory
方法 2:手動建立
nano CLAUDE.md
範例 CLAUDE.md
# E-Commerce Platform
具有庫存管理和支付處理的多租戶電子商務平台。
## 技術堆疊
- **Frontend:** Next.js 14、TypeScript、Tailwind CSS
- **Backend:** Node.js、Express、PostgreSQL
- **Auth:** JWT tokens、bcrypt
## 專案結構
src/ ├── api/ # API 路由和控制器 ├── models/ # 資料模型 ├── services/ # 業務邏輯 └── middleware/ # Express 中間件
## 程式碼慣例
- 對於 async/await 進行非同步操作
- 使用 try-catch 處理錯誤
- 記錄重要操作
- 為函式撰寫 JSDoc 註解
- 遵循 ESLint 規則
## 重要注意事項
- 不要硬編碼 API 金鑰(使用環境變數)
- 所有資料庫查詢必須使用參數化陳述
- 始終驗證使用者輸入
- 在 Stripe 測試模式中測試支付功能
## 開發指令
```bash
npm run dev # 啟動開發伺服器
npm run test # 執行測試
npm run build # 建置生產環境
npm run lint # 檢查程式碼品質
### CLAUDE.md 的優點
Claude 使用此脈絡來:
- 理解您的專案結構
- 遵循您的編碼慣例
- 知道重要的檔案和位置
- 建議適當的解決方案
- 產生一致的程式碼
---
## 實務範例:設定專案設定
讓我們為真實專案設定。
### 步驟 1:導覽至專案
```bash
cd ~/claude-test/hello-world
步驟 2:建立 Local Settings
mkdir -p .claude
建立 .claude/settings.json:
{
"model": "claude-sonnet-4-5",
"permissionMode": "default",
"temperature": 0.5,
"permissions": {
"allowedPatterns": [
{"pattern": "^hello.py$", "operation": "Read"}
]
}
}
這設定:
- 使用 Sonnet 模型
- 要求權限(安全)
- 更低溫度(更確定性)
- 自動允許讀取 hello.py
步驟 3:建立 CLAUDE.md
建立 CLAUDE.md:
# Hello World 專案
用於學習 Claude Code 基礎的學習專案。
## 目的
此專案用於練習:
- 基本檔案操作
- 理解權限
- 使用技能
- 設定
## 檔案
- `hello.py` - 主要問候腳本
## 目標
- 保持簡單
- 專注於學習
- 自由實驗
步驟 4:測試設定
claude
You> 這個專案是關於什麼的?
Claude: [使用 CLAUDE.md 中的脈絡]
這是一個 Hello World 學習專案,用於練習 Claude Code 基礎,包括
基本檔案操作、權限和技能。
✅ 檢查您的理解
-
哪個設定範圍具有最高優先順序?
- Managed
- User
- Local
- Project
-
什麼指令幫助建立設定檔?
- /settings
- /config
- /setup
- /configure
-
User settings 在 Linux/macOS 上的儲存位置?
-
~/claude/settings.json -
~/.config/claude-code/settings.json -
~/.claude/settings.json -
/etc/claude/settings.json
-
-
True 或 False: 環境變數覆蓋設定檔。
- True
- False
-
CLAUDE.md 用於什麼?
- 儲存 API 金鑰
- Claude 的專案特定脈絡
- 列出專案中的所有檔案
- 設定 MCP 伺服器
答案: 1-d, 2-b, 3-b, 4-True, 5-b
總結
在本課程中,您學到了:
- 五種設定範圍 - Managed、CLI、User、Local、Project
- 建立設定 - 使用
/config或手動建立檔案 - 常見設定 - 模型、權限、tokens、溫度
- 環境變數 - 覆蓋組態的環境變數
- CLAUDE.md - 為 Claude 提供專案脈絡
- 設定優先順序 - 理解合併順序
下一步
在**第 7 課:MCP 整合**中,您將學到:
- 什麼是 MCP
- MCP 伺服器類型
- 新增 MCP 伺服器
- 常見整合
- 在對話中使用 MCP 工具
進階閱讀
繼續至第 7 課:MCP 整合 →