Claude Code 完整学习笔记
Claude Code 完整学习笔记
基于官方文档整理 | 2026年3月23日
参考来源:https://code.claude.com/docs/
📚 目录
第一章:Claude Code 概述
1.1 什么是 Claude Code
Claude Code 是 Anthropic 公司推出的智能体编码工具(Agentic Coding Tool),它不仅仅是一个代码补全工具,而是能够:
- 📖 理解整个代码库:阅读和分析项目的完整上下文
- ✏️ 编辑多个文件:跨文件进行代码修改和重构
- ⚙️ 执行命令:运行测试、构建、Git 操作等
- 🔗 集成开发工具:与各种开发工具无缝对接
核心理念:将开发者从"代码执行者"转变为"AI 协作管理者"。
1.2 技术突破点
Claude Code 基于 Claude Opus 4.5 和 Sonnet 4.5 模型构建,在编码能力上实现了质的飞跃:
| 能力维度 | 表现 |
|---|---|
| 编码效率 | 平均提升 220% |
| 长时任务 | 可连续运行 5 小时不崩溃 |
| 复杂度处理 | 能理解大型项目架构 |
| 自主性 | 支持规划、执行、反思的完整智能体流程 |
关键数据(2026年):
- LiveBench 榜单登顶,超越 GPT-5.1 和 Gemini 3 Pro
- 6 个月内年化营收突破 25 亿美元
- 超过 180 万付费用户
1.3 支持的使用环境
Claude Code 提供多平台支持,所有平台共享相同的配置和数据:
| 环境 | 特点 | 适用场景 |
|---|---|---|
| Terminal (终端) | 功能最完整的 CLI | 喜欢命令行的开发者 |
| VS Code | IDE 深度集成 | Visual Studio Code 用户 |
| JetBrains | 支持 IntelliJ、PyCharm 等 | JetBrains 全家桶用户 |
| Desktop App | 独立桌面应用 | 不依赖特定编辑器 |
| Web | 浏览器访问 | 跨设备、移动端 |
| iOS App | 移动端应用 | 随时随地编码 |
跨平台特性:
- ✅ CLAUDE.md 配置文件全局共享
- ✅ 设置和偏好同步
- ✅ MCP 服务器配置通用
第二章:安装与配置
2.1 系统要求
必需条件:
- 操作系统:macOS 10.15+、Ubuntu 20.04+/Debian 10+、Windows 10/11
- Node.js:版本 ≥ 18(推荐 LTS)
- 内存:至少 4GB RAM
- 网络:稳定的互联网连接
2.2 安装步骤(以 Terminal 为例)
步骤 1:安装 Node.js
macOS (Homebrew)
brew install node
node -v # 验证安装
npm -v
Ubuntu/Debian (Linux)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
Windows (官方安装包)
- 访问 https://nodejs.org/
- 下载 LTS 版本安装包
- 运行安装程序
- 验证:
node -v
npm -v
步骤 2:安装 Claude Code
推荐方式(原生安装)
macOS/Linux/WSL
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell
irm https://claude.ai/install.ps1 | iex
Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
⚠️ 注意:Windows 需要先安装 Git for Windows
其他安装方式
通过 npm 全局安装:
npm install -g @anthropic-ai/claude-code
通过 Homebrew(macOS):
brew install anthropics/tap/claude
通过 WinGet(Windows):
winget install Anthropic.ClaudeCode
步骤 3:验证安装
claude --version
如果显示版本号(如 v0.3.2),说明安装成功。
步骤 4:启动 Claude Code
cd your-project-folder
claude
首次启动会进行:
- 登录认证:通过浏览器 OAuth 登录
- 主题选择:选择界面主题
- 安全提示:阅读权限说明
- 工作目录信任:确认是否信任当前项目
2.3 配置 API 访问(第三方/国内网络)
如果使用官方服务或第三方中转服务,需要配置环境变量:
环境变量说明
ANTHROPIC_AUTH_TOKEN:API 令牌(通常以sk-开头)ANTHROPIC_BASE_URL:API 地址(使用第三方中转时需要)
永久配置方法
Linux/macOS (bash)
echo 'export ANTHROPIC_AUTH_TOKEN="sk-你的令牌"' >> ~/.bashrc
echo 'export ANTHROPIC_BASE_URL="https://api.example.com"' >> ~/.bashrc
source ~/.bashrc
macOS (zsh,默认 shell)
echo 'export ANTHROPIC_AUTH_TOKEN="sk-你的令牌"' >> ~/.zshrc
echo 'export ANTHROPIC_BASE_URL="https://api.example.com"' >> ~/.zshrc
source ~/.zshrc
Windows (PowerShell)
setx ANTHROPIC_AUTH_TOKEN "sk-你的令牌"
setx ANTHROPIC_BASE_URL "https://api.example.com"
⚠️ 重要:设置后必须重新打开终端窗口才能生效
验证配置
Linux/macOS
echo $ANTHROPIC_AUTH_TOKEN
echo $ANTHROPIC_BASE_URL
Windows PowerShell
echo $env:ANTHROPIC_AUTH_TOKEN
echo $env:ANTHROPIC_BASE_URL
2.4 更新与卸载
更新 Claude Code
原生安装(自动后台更新)
claude update
npm 安装
npm update -g @anthropic-ai/claude-code
Homebrew
brew upgrade claude
卸载 Claude Code
原生安装
curl -fsSL https://claude.ai/uninstall.sh | bash
npm 安装
npm uninstall -g @anthropic-ai/claude-code
Homebrew
brew uninstall claude
第三章:核心功能详解
3.1 基础交互模式
启动会话
# 交互式会话
claude
# 一次性任务(非交互)
claude "修复登录页面的 bug"
claude -p "生成一个 Todo List 组件"
# 恢复上次会话
claude --continue
基本命令
在 Claude Code 交互界面中,以 / 开头的是内置命令:
| 命令 | 功能 | 示例 |
|---|---|---|
/clear |
清空对话历史 | - |
/help |
查看帮助文档 | - |
/cost |
查看 Token 消耗和费用 | - |
/config |
查看或修改配置 | - |
/memory |
编辑项目记忆文件 | - |
/review |
请求代码审查 | - |
/init |
初始化项目的 CLAUDE.md | - |
/commit |
创建 Git 提交 | - |
3.2 文件操作能力
Claude Code 可以自主读写文件,无需手动操作:
读取文件
示例对话:
你:阅读 src/components/Login.tsx 文件
Claude:
我已读取该文件,发现以下内容:
- 使用 React Hooks (useState, useEffect)
- 表单验证逻辑在第 45 行
- 存在一个潜在的 XSS 漏洞(第 78 行)
编辑文件
Claude Code 会进行精确的代码替换:
你:将 Login.tsx 中的密码最小长度改为 12 位
Claude:
正在修改 src/components/Login.tsx:
- 第 32 行:minLength: 8 → minLength: 12
- 第 156 行:错误提示文案同步更新
已完成修改。
创建新文件
你:创建一个新的 User 接口文件
Claude:
已创建 src/types/User.ts,包含:
- User 基础接口
- UserRole 枚举
- CreateUserDTO 和 UpdateUserDTO
3.3 命令执行能力
Claude Code 可以运行终端命令,执行开发任务:
运行测试
你:运行所有单元测试
Claude:
正在执行:npm test
[测试输出]
✓ 32 个测试通过
✗ 2 个测试失败
- Login.test.tsx:45 - 密码验证失败
- Header.test.tsx:23 - 快照不匹配
我已定位问题,是否需要修复失败的测试?
Git 操作
你:查看 Git 状态并创建提交
Claude:
1. git status 显示 5 个文件被修改
2. 建议的提交信息:
"feat: 将密码最小长度提升至 12 位,增强安全性"
是否确认提交?
安装依赖
你:安装 axios 库
Claude:
正在执行:npm install axios
已添加到 package.json
需要我生成一个 HTTP 请求的工具类吗?
3.4 代码理解与分析
架构分析
你:分析当前项目的整体架构
Claude:
项目采用典型的 React + TypeScript 架构:
前端结构:
- src/components/ # UI 组件
- src/pages/ # 页面路由
- src/services/ # API 调用层
- src/store/ # Redux 状态管理
- src/utils/ # 工具函数
后端(假设存在):
- server/routes/ # 路由定义
- server/controllers/ # 业务逻辑
- server/models/ # 数据模型
关键依赖:
- React 18.2.0
- TypeScript 5.0
- Redux Toolkit
- Axios
潜在优化点:
1. 建议引入 React Query 优化数据获取
2. 部分组件可以拆分为更小的子组件
代码审查
你:审查 src/api/userService.ts 的安全性
Claude:
发现以下问题:
🔴 高风险:
- 第 23 行:直接拼接 SQL,存在注入风险
- 第 67 行:敏感信息未加密传输
🟡 中等风险:
- 第 45 行:缺少错误处理
- 第 89 行:没有请求超时设置
🟢 建议优化:
- 使用 ORM 代替原始 SQL
- 添加请求拦截器统一处理认证
3.5 智能体模式(Agent Mode)
Claude Code 的核心是智能体工作流,包含以下阶段:
规划模式(Plan Mode)
激活方式:按 Shift + Tab 两次
工作流程:
- 理解需求:分析任务目标
- 制定计划:生成分步骤的执行方案
- 用户确认:展示计划等待批准
- 执行实施:按计划逐步完成
示例:
你:添加用户头像上传功能
Claude:[进入 Plan Mode]
计划如下:
□ 1. 创建文件上传组件 (AvatarUpload.tsx)
□ 2. 添加后端 API 端点 (/api/upload/avatar)
□ 3. 集成图片压缩和格式验证
□ 4. 更新用户资料页面集成组件
□ 5. 编写单元测试和集成测试
□ 6. 更新 API 文档
估计完成时间:约 30 分钟
是否批准此计划?
自动执行模式(Auto-Accept Mode)
当计划确认后,可切换到自动模式,Claude 会依次完成所有步骤:
你:/auto-accept
Claude:
[自动执行中]
✓ 步骤 1/6:创建 AvatarUpload.tsx 完成
✓ 步骤 2/6:API 端点已添加
✓ 步骤 3/6:图片验证逻辑已实现
...
全部完成!是否需要我运行测试验证?
3.6 工具集成(MCP - Model Context Protocol)
Claude Code 通过 MCP 协议连接外部工具和服务:
什么是 MCP
MCP 是 Anthropic 开发的开源标准,类似于"AI 世界的 USB-C 接口",用于:
- 连接数据库(MySQL、PostgreSQL、MongoDB 等)
- 集成浏览器自动化(Playwright)
- 调用云服务 API
- 访问本地文件系统
添加 MCP 服务
示例:添加 MySQL 连接
claude mcp add mysql npx @benborla29/mcp-server-mysql \
-e MYSQL_HOST=localhost \
-e MYSQL_USER=root \
-e MYSQL_PASS=yourpassword \
-e MYSQL_DB=testdb
示例:添加 Playwright(网页自动化)
claude mcp add playwright npx '@playwright/mcp@latest'
使用后,可以直接在对话中调用:
你:查询数据库中最近 7 天注册的用户数量
Claude:
正在连接 MySQL...
执行 SQL:
SELECT COUNT(*) FROM users
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY);
结果:最近 7 天有 342 名新用户注册。
第四章:工作流程与最佳实践
4.1 典型开发流程
场景 1:修复 Bug
完整对话示例:
你:登录页面在 Safari 浏览器下无法提交表单
Claude:
我来帮你定位和修复这个问题。
[步骤 1:代码调查]
正在读取 src/components/Login.tsx...
已读取 src/styles/login.css...
正在检查相关的事件处理代码...
[步骤 2:问题诊断]
发现问题:
- 第 67 行使用了 event.preventDefault()
- Safari 对表单提交事件处理顺序有差异
- 缺少显式的 form onSubmit 绑定
[步骤 3:修复方案]
将修改以下内容:
1. 添加 <form onSubmit={handleSubmit}>
2. 调整事件处理逻辑
3. 添加浏览器兼容性注释
是否批准修改?
你:批准
Claude:
✓ 已修改 Login.tsx
✓ 已添加浏览器兼容性测试用例
✓ 建议在 Safari 15+ 版本测试验证
修复完成。需要我创建 Git 提交吗?
场景 2:开发新功能
你:添加一个深色模式切换功能
Claude:[进入 Plan Mode]
功能规划:
□ 1. 创建主题上下文 (ThemeContext)
□ 2. 实现主题切换 Hook (useTheme)
□ 3. 创建切换组件 (ThemeToggle.tsx)
□ 4. 定义深色模式 CSS 变量
□ 5. 更新所有组件支持主题切换
□ 6. 在 localStorage 持久化用户偏好
□ 7. 添加测试
预计涉及文件:
- 新增:src/contexts/ThemeContext.tsx
- 新增:src/hooks/useTheme.ts
- 新增:src/components/ThemeToggle.tsx
- 修改:src/styles/variables.css
- 修改:src/App.tsx
是否继续?
你:继续
Claude:
[开始执行]
✓ 已创建 ThemeContext.tsx
✓ useTheme Hook 已实现
✓ ThemeToggle 组件已创建
✓ CSS 变量已定义(--bg-primary, --text-primary 等)
✓ App.tsx 已集成主题提供者
✓ localStorage 持久化已实现
所有文件已修改完成。
是否需要我演示如何使用?
场景 3:代码重构
你:重构 src/utils/validation.js,改为 TypeScript 并添加类型
Claude:
正在分析 validation.js...
发现以下函数:
- validateEmail(email)
- validatePassword(password, minLength)
- validatePhone(phone, countryCode)
- sanitizeInput(input)
重构计划:
1. 创建 validation.ts
2. 定义验证结果类型接口
3. 添加严格的类型注解
4. 保持 API 兼容性
5. 更新所有引用此文件的代码
开始重构...
✓ 已创建 src/utils/validation.ts
✓ 已删除旧的 validation.js
✓ 已更新 15 处引用
类型定义示例:
```typescript
interface ValidationResult {
isValid: boolean;
errors: string[];
}
export function validateEmail(email: string): ValidationResult {
// 实现...
}
重构完成。所有调用处已验证类型安全。
### 4.2 最佳实践原则
#### 原则 1:渐进式任务拆解
**❌ 不推荐**(任务过于宽泛):
你:重构整个项目,优化性能,添加测试
**✅ 推荐**(拆分明确):
你:首先重构 UserService.ts,添加错误处理
[完成后]
你:现在为 UserService 添加单元测试
[完成后]
你:优化用户列表页面的加载性能
#### 原则 2:善用上下文管理
Claude Code 有 Token 限制,避免无限累积对话:
**定期清理**:
```bash
/clear # 清空对话历史,释放 Token
监控消耗:
/cost # 查看当前会话消耗
使用 CLAUDE.md 持久化知识(下一节详细讲解)。
原则 3:先读再改
Claude Code 必须先读取文件才能准确修改:
正确流程:
你:读取 config.json 并将端口号改为 3000
Claude:
[自动执行]
1. 读取 config.json
2. 定位 port 字段(第 12 行)
3. 修改:port: 8080 → port: 3000
已完成。
原则 4:利用 Plan Mode 处理复杂任务
对于多步骤任务,激活 Plan Mode(Shift + Tab 两次):
- ✅ 避免遗漏步骤
- ✅ 提前发现问题
- ✅ 用户可审核计划
原则 5:成本优化
- 使用
/clear清理无关历史 - 复杂任务分多次会话
- 避免重复读取相同文件
第五章:高级特性
5.1 项目指令文件(CLAUDE.md)
什么是 CLAUDE.md
CLAUDE.md 是 Claude Code 的"项目宪法",定义:
- 项目架构和目录结构
- 编码规范和风格
- 常用命令和工具链
- 特定领域的指令
三种级别的配置文件
| 文件位置 | 作用域 | 用途 |
|---|---|---|
| 项目根目录/CLAUDE.md | 当前项目 | 团队共享的项目规范,提交到 Git |
| 项目根目录/CLAUDE.local.md | 当前项目 | 个人的本地配置,不提交到 Git |
| ~/.claude/CLAUDE.md | 全局所有项目 | 个人的全局编码偏好 |
优先级:全局 < 项目 < 本地
初始化 CLAUDE.md
claude
/init
Claude 会自动生成包含以下内容的 CLAUDE.md:
# 项目指南
## 项目概述
这是一个 React + TypeScript 项目,使用 Vite 构建。
## 架构
- `src/components/` - React 组件
- `src/pages/` - 页面级组件
- `src/services/` - API 调用
- `src/utils/` - 工具函数
## 常用命令
- 启动开发服务器:`npm run dev`
- 运行测试:`npm test`
- 构建生产版本:`npm run build`
## 编码规范
- 使用函数式组件和 Hooks
- 组件文件名使用 PascalCase(UserProfile.tsx)
- 工具函数使用 camelCase(formatDate.ts)
- 所有组件必须有 TypeScript 类型
- 优先使用命名导出而非默认导出
自定义指令示例
添加编码风格要求:
## 编码规范
### TypeScript
- 严格模式:`strict: true`
- 禁止使用 `any` 类型
- 接口命名以 `I` 开头(如 `IUser`)
### React
- 使用函数式组件
- 自定义 Hook 以 `use` 开头
- Props 接口以 `Props` 结尾(如 `ButtonProps`)
### CSS
- 使用 CSS Modules
- 类名使用 kebab-case(如 `.user-card`)
- 颜色变量定义在 `variables.css`
添加特定任务指令:
## Git 提交规范
提交信息格式:`<type>(<scope>): <subject>`
类型:
- feat: 新功能
- fix: Bug 修复
- docs: 文档更新
- style: 代码格式调整
- refactor: 重构
- test: 测试相关
- chore: 构建工具或依赖更新
示例:
- `feat(auth): 添加 OAuth 登录`
- `fix(ui): 修复按钮点击无响应问题`
团队共享实践
Anthropic Claude Code 团队自己也共享一个 CLAUDE.md:
核心内容:
## 标准工作流程
1. 仔细思考问题,阅读相关代码
2. 将计划写入 `todo.md`,创建待办列表
3. 与我确认计划后再开始工作
4. 逐项完成待办,标记完成状态
5. 每步向我简要说明所做更改
6. 保持每次更改尽可能简单
7. 最后在 `todo.md` 添加审查总结
## 原则
- 避免大规模或复杂更改
- 每次修改影响尽可能少的代码
- 一切以简单为中心
5.2 自动记忆(Auto Memory)
Claude Code 会自动记录重要信息到 .claude/memory/ 目录:
记忆系统结构
.claude/memory/
├── MEMORY.md # 核心记忆(加载到上下文)
├── debugging.md # 调试经验
├── patterns.md # 代码模式
└── user-preferences.md # 用户偏好
会被记住的内容
- ✅ 项目架构决策
- ✅ 反复出现的问题及解决方案
- ✅ 用户的编码偏好
- ✅ 关键文件路径
- ❌ 临时任务细节
- ❌ 敏感信息(密码、密钥)
示例:MEMORY.md
# 项目记忆
## 关键路径
- 用户认证:`src/auth/AuthProvider.tsx`
- API 配置:`src/config/api.config.ts`
- 全局状态:`src/store/index.ts`
## 已知问题
- Safari 浏览器下表单提交需要显式绑定 onSubmit
- Webpack 打包时需要手动排除 `node_modules/some-lib`
## 用户偏好
- 喜欢使用函数式编程风格
- 优先使用 async/await 而非 Promise.then()
- 不喜欢使用三元运算符嵌套
手动管理记忆
编辑记忆文件:
/memory
记住特定信息:
你:请记住,所有 API 请求必须添加 X-App-Version 头
Claude:
已添加到记忆文件:
> API 请求规范:所有请求必须包含 X-App-Version 头,值为 package.json 的 version 字段
删除记忆:
你:忘记之前关于 Webpack 配置的记录
Claude:
已从 MEMORY.md 删除 Webpack 相关内容。
5.3 自定义命令(Slash Commands)
创建可复用的工作流命令,避免重复操作。
创建自定义命令
在项目根目录创建 .claude/commands/ 目录:
示例:创建 /commit-push-pr 命令
文件:.claude/commands/commit-push-pr.md
---
name: commit-push-pr
description: 提交代码、推送并创建 PR
---
# 提交、推送并创建 Pull Request
执行以下步骤:
1. 运行 `git status` 检查改动
2. 生成语义化的提交信息
3. 创建提交:`git commit -m "..."`
4. 推送到远程:`git push origin HEAD`
5. 使用 `gh pr create` 创建 Pull Request
6. PR 标题和描述基于提交信息生成
确认每步操作是否成功,失败则停止并报告。
使用:
/commit-push-pr
更多命令示例
自动化测试命令(.claude/commands/test-fix.md):
---
name: test-fix
description: 运行测试并修复失败用例
---
1. 运行 `npm test`
2. 如果有失败的测试:
- 读取失败的测试文件
- 分析失败原因
- 修复代码或测试
- 重新运行测试验证
3. 重复直到所有测试通过
性能分析命令(.claude/commands/perf-audit.md):
---
name: perf-audit
description: 分析项目性能瓶颈
---
1. 运行 `npm run build` 生成生产构建
2. 分析 bundle 大小
3. 检查是否有过大的依赖
4. 查找未使用的代码
5. 生成优化建议报告
5.4 Hooks(事件钩子)
Hooks 允许在特定事件触发时执行自定义脚本。
配置 Hooks
编辑 ~/.claude/settings.json 或项目的 .claude/settings.json:
{
"hooks": {
"Notification": [
{
"matcher": "permission_prompt",
"hooks": [
{
"type": "command",
"command": "/path/to/notify.sh"
}
]
}
]
}
}
支持的 Hook 类型
| Hook 类型 | 触发时机 |
|---|---|
permission_prompt |
Claude Code 请求权限时 |
idle_prompt |
Claude 等待用户输入时 |
tool_call |
Claude 调用工具(如执行命令)时 |
实战案例:自动通知
场景:长任务完成后通知用户
macOS 通知脚本(~/.claude/scripts/notify.sh):
#!/bin/bash
osascript -e 'display notification "Claude Code 需要你的响应" with title "Claude Code"'
配置:
{
"hooks": {
"Notification": [
{
"matcher": "idle_prompt",
"hooks": [
{
"type": "command",
"command": "~/.claude/scripts/notify.sh"
}
]
}
]
}
}
5.5 并行会话与多任务
Claude Code 支持同时运行多个独立会话:
开启多个终端
# 终端 1:开发主功能
cd project-a
claude
# 终端 2:修复 Bug
cd project-a
claude
# 终端 3:编写测试
cd project-a
claude
每个会话独立运行,互不干扰。
跨平台协同
工作流示例(Boris Cherny 的方法):
- 早上:在 iOS App 启动 5 个会话
- 上午:在本地 Terminal 并行 5 个任务
- 下午:在浏览器 claude.ai/code 查看进度
- 晚上:在 VS Code 继续开发
关键:所有平台共享相同的配置和记忆。
5.6 远程控制与 Channels
Remote Control(远程控制)
通过手机或其他设备控制本地运行的 Claude Code 会话。
启动远程会话:
claude --remote
会生成一个访问链接,可以在任何设备打开。
Channels(消息通道)
将 Telegram、Discord 等消息平台连接到 Claude Code:
启动带 Telegram 通道的会话:
claude --channels
配置 Telegram Bot Token 后,可以:
[Telegram 消息]
你:@claude 运行测试并报告结果
[几分钟后收到回复]
Claude:
✓ 测试已完成
- 通过:45 个
- 失败:2 个
失败详情:
1. UserService.test.ts:67 - 邮箱格式验证失败
2. Auth.test.ts:120 - Token 过期逻辑错误
需要我修复这些问题吗?
5.7 思考模式(Thinking Mode)
Opus 4.5 模型支持"思考模式",让 AI 展示推理过程。
启用思考模式
临时启用:
claude --thinking
永久启用:
编辑 settings.json:
{
"alwaysThinkingEnabled": true
}
效果对比
普通模式:
Claude:我将添加用户认证功能。
[直接开始写代码]
思考模式:
Claude:
[思考过程]
🤔 用户认证功能需要考虑:
1. 使用 JWT 还是 Session?
→ JWT 更适合前后端分离
2. 密码如何存储?
→ bcrypt 哈希 + 盐
3. Token 刷新策略?
→ Refresh Token 机制
4. 需要支持 OAuth 吗?
→ 暂时不需要,可预留接口
[执行计划]
基于以上分析,我将实现:
- JWT 认证
- bcrypt 密码哈希
- Refresh Token 刷新
- 中间件权限验证
适用场景:复杂架构决策、算法优化、难以调试的问题。
第六章:实战技巧
6.1 Boris Cherny 的 13 个使用技巧
Boris Cherny(Claude Code 核心开发者)分享的专家级技巧:
技巧 1:并行 5-10 个会话
同时运行多个 Claude 实例:
- 本地终端:5 个会话
- 云端浏览器:5-10 个会话
- iOS 应用:3-5 个会话
收益:并行处理任务,效率提升 5-10 倍。
技巧 2:跨平台协作
- 早上用 iOS 启动会话
- 下午在浏览器检查进度
- 晚上在本地终端继续
关键:会话可以在不同平台间传递和继续。
技巧 3:只用 Opus 4.5 + 思考模式
对于复杂任务:
claude --model opus --thinking
原因:Opus 4.5 在复杂推理上远超 Sonnet。
技巧 4:共享团队 CLAUDE.md
团队所有成员使用相同的 CLAUDE.md:
- 统一编码规范
- 共享项目知识
- 避免重复配置
技巧 5:GitHub 审查集成
在 PR 中使用 @.claude 标记,自动将问题添加到 CLAUDE.md:
# PR 评论
@.claude 这个函数在 Safari 下有兼容性问题
→ 自动写入项目记忆,团队共享经验。
技巧 6:善用 Plan Mode
复杂任务先规划再执行:
Shift + Tab两次进入 Plan Mode- 审核计划
- 切换到 auto-accept 自动执行
技巧 7:创建 Slash 命令
将重复工作流沉淀为命令:
/commit-push-pr- 提交并创建 PR/test-fix- 运行测试并修复/deploy- 部署流程
收益:减少重复沟通,节省 Token。
技巧 8:用 Bash 命令节省 Token
简单操作直接用 Bash:
你:!git status
你:!npm install
你:!ls src/
不消耗 Claude 的推理 Token。
技巧 9:定期清理上下文
每完成一个大任务后:
/clear
避免 Token 溢出,保持对话聚焦。
技巧 10:使用 MCP 连接工具
集成常用服务:
- MySQL/PostgreSQL 数据库
- Playwright 浏览器自动化
- Slack/Discord 通知
- GitHub API
效果:Claude 可以直接操作这些系统。
技巧 11:监控成本
/cost
实时查看 Token 消耗,避免超支。
技巧 12:本地 + 云端混合
- 本地处理敏感代码
- 云端处理公开项目
- iOS 处理移动任务
根据场景选择最合适的环境。
技巧 13:系统通知
配置 Hook 在关键事件触发通知:
- 任务完成
- 需要权限批准
- 出现错误
工具:iTerm 2 通知、macOS 通知中心、Slack Webhook。
6.2 23 个实用小技巧
基于社区实践的进阶技巧:
1. 智能函数生成
你:创建 Python 函数,计算斐波那契数列前 n 项
2. 代码即时解释
你:解释这段排序算法的工作原理
[选中代码]
3. 自动错误修复
你:修复这个 IndexError
[粘贴错误堆栈]
4. 文档自动生成
你:为 calculateArea 函数生成文档字符串
5. 单元测试生成
你:为 reverse_string 函数生成测试用例
6. 代码语义搜索
你:在项目中找到所有实现二分查找的代码
7. 智能代码补全
你:补全这段 Pandas 数据处理代码
df.groupby('department')
8. 多语言转换
你:将这段 Python 代码转换为 JavaScript
9. 正则表达式生成
你:生成匹配中国大陆手机号的正则表达式
10. SQL 语句优化
你:优化这个慢查询
SELECT * FROM orders WHERE DATE(order_date) = '2023-01-01';
11. API 调用生成
你:生成调用 OpenAI API 的 Python 代码
12. 数据结构可视化
你:可视化这个二叉树结构
13. 代码复杂度分析
你:分析 calculateScore 函数的圈复杂度
14. 依赖冲突解决
你:解决 requirements.txt 中的版本冲突
15. 命令行生成
你:生成查找所有修改过的 .py 文件的命令
16. 调试建议生成
你:这段代码为什么会抛出 NoneType 错误?
17. 性能分析
你:分析这个函数的时间复杂度并优化
18. 代码审查
你:审查这段代码的安全性和最佳实践
19. 重构建议
你:这段代码如何重构更简洁?
20. 框架迁移
你:将这个 Vue 2 组件升级到 Vue 3
21. 配置文件生成
你:生成一个标准的 .eslintrc.js 配置
22. Git 操作
你:创建一个 feature 分支并切换过去
23. Docker 容器化
你:为这个 Node.js 项目生成 Dockerfile
6.3 不同场景的最佳实践
场景:大型遗留代码库
策略:
- 先让 Claude 分析架构:
你:分析这个项目的整体架构和依赖关系 - 逐模块理解:
你:解释 src/auth/ 目录的职责 - 小步迭代修改:
你:只重构 AuthService.login 方法,不动其他代码
场景:全新项目搭建
策略:
- 使用 Plan Mode:
你:创建一个 React + TypeScript + Tailwind 的项目脚手架 [进入 Plan Mode 审核计划] - 让 Claude 生成 CLAUDE.md:
你:/init - 定义编码规范:
你:在 CLAUDE.md 中添加 ESLint 和 Prettier 规则
场景:紧急 Bug 修复
策略:
- 直接描述问题:
你:生产环境用户无法登录,错误是 "Invalid token" - Claude 会快速定位:
Claude: 正在检查 AuthService... 发现问题:token 验证逻辑在第 67 行缺少过期时间检查 - 立即修复:
Claude:已修复并添加测试用例,建议立即部署。
场景:性能优化
策略:
- 先分析瓶颈:
你:分析首页加载慢的原因 - Claude 会提供数据:
Claude: 发现以下问题: - 图片未压缩(平均 2.5MB) - 未使用代码分割 - API 请求未缓存 - 逐项优化:
你:先优化图片加载 [完成后] 你:现在实现代码分割
第七章:常见问题与故障排查
7.1 安装与启动问题
问题 1:安装失败
症状:
npm install -g @anthropic-ai/claude-code
Error: EACCES: permission denied
解决方案:
macOS/Linux:
sudo npm install -g @anthropic-ai/claude-code
或使用 nvm 避免权限问题:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
npm install -g @anthropic-ai/claude-code
Windows:
以管理员身份运行 PowerShell。
问题 2:命令未找到
症状:
claude
command not found: claude
解决方案:
检查 PATH:
echo $PATH # macOS/Linux
echo $env:PATH # Windows PowerShell
手动添加到 PATH(macOS/Linux):
export PATH="$HOME/.local/bin:$PATH"
将上述行添加到 ~/.bashrc 或 ~/.zshrc。
问题 3:首次启动卡住
症状:
claude
[长时间无响应]
解决方案:
- 检查网络连接
- 清除缓存:
rm -rf ~/.claude/cache - 重新登录:
claude logout claude
7.2 使用过程中的问题
问题 4:Token 消耗过快
症状:
/cost
# 显示消耗异常高
解决方案:
- 定期清理上下文:
/clear - 避免反复读取相同文件
- 使用 Bash 命令代替 Claude:
你:!ls -la # 直接执行,不消耗 Token
问题 5:Claude 修改错误的文件
原因:上下文中存在多个同名文件。
解决方案:
提供完整路径:
你:修改 src/components/Login/Login.tsx(不是 src/pages/Login.tsx)
问题 6:代码修改后测试失败
策略:
- 让 Claude 先运行测试:
你:修改后运行所有测试 - 如果失败,Claude 会自动修复:
Claude:检测到 3 个测试失败,正在修复...
问题 7:无法连接到 API
症状:
Error: Unable to connect to Anthropic API
解决方案:
- 检查环境变量:
echo $ANTHROPIC_AUTH_TOKEN echo $ANTHROPIC_BASE_URL - 检查网络:
curl https://api.anthropic.com/v1/status - 如果使用第三方中转,验证
ANTHROPIC_BASE_URL是否正确。
7.3 权限与安全问题
问题 8:Claude 频繁请求权限
原因:默认权限模式较严格。
解决方案:
调整权限模式:
/config
# 设置:permission_mode = "auto_approve"
⚠️ 警告:仅在可信项目中使用 auto_approve 模式。
问题 9:误删文件或数据
著名案例:2026 年 3 月 DataTalks.Club 数据库被误删事件。
预防措施:
-
生产环境隔离:
你:永远不要在生产环境运行 destroy 命令添加到 CLAUDE.md。
-
启用删除保护:
# AWS 示例 aws rds modify-db-instance --db-instance-identifier mydb --deletion-protection -
人工审核危险操作:
你:所有 terraform destroy、git push --force、rm -rf 必须由我手动执行写入 CLAUDE.md。
-
定期备份:
# 自动备份脚本 0 2 * * * /path/to/backup.sh
7.4 性能与稳定性问题
问题 10:响应缓慢
可能原因:
- 网络延迟
- Token 上下文过大
- 并发请求过多
解决方案:
- 使用本地模型(如果支持)
- 清理历史:
/clear - 减少并行会话数
问题 11:会话突然断开
解决方案:
- 使用
claude --continue恢复 - 检查网络稳定性
- 查看日志:
cat ~/.claude/logs/claude.log
7.5 调试技巧
启用详细日志
claude --verbose
# 或
export CLAUDE_LOG_LEVEL=debug
claude
查看系统信息
claude --version
claude --info
重置配置
rm -rf ~/.claude/settings.json
claude
附录
A. 常用命令速查表
| 命令 | 功能 |
|---|---|
claude |
启动交互式会话 |
claude "任务描述" |
一次性任务 |
claude --continue |
恢复上次会话 |
claude --thinking |
启用思考模式 |
claude --remote |
启动远程控制 |
claude --channels |
启用消息通道 |
claude update |
更新到最新版 |
/clear |
清空对话历史 |
/help |
查看帮助 |
/cost |
查看 Token 消耗 |
/memory |
编辑记忆文件 |
/init |
初始化 CLAUDE.md |
/commit |
创建 Git 提交 |
/review |
代码审查 |
/config |
查看/修改配置 |
B. 配置文件位置
| 文件 | 路径 |
|---|---|
| 全局设置 | ~/.claude/settings.json |
| 全局 CLAUDE.md | ~/.claude/CLAUDE.md |
| 全局记忆 | ~/.claude/memory/ |
| 项目 CLAUDE.md | <项目根目录>/CLAUDE.md |
| 项目本地配置 | <项目根目录>/CLAUDE.local.md |
| 自定义命令 | <项目根目录>/.claude/commands/ |
| 日志文件 | ~/.claude/logs/ |
C. 键盘快捷键
| 快捷键 | 功能 |
|---|---|
Shift + Tab (两次) |
进入 Plan Mode |
Ctrl + C |
中断当前任务 |
Ctrl + D |
退出 Claude Code |
↑ / ↓ |
浏览历史命令 |
D. 推荐资源
- 官方文档:https://code.claude.com/docs/
- GitHub 仓库:https://github.com/anthropics/claude-code
- 社区论坛:https://community.anthropic.com/
- 示例项目:https://github.com/anthropics/claude-code-examples
- MCP 协议文档:https://modelcontextprotocol.io/
E. 订阅计划对比
| 计划 | 价格(月付) | 特性 |
|---|---|---|
| Free | $0 | - 基础功能 - Sonnet 模型 - 有限 Token |
| Pro | $20 | - Opus + Sonnet - 更多 Token - 优先访问 |
| Max | $100 | - 无限 Token - 最快响应 - 企业支持 |
| Enterprise | 定制 | - 专用部署 - SLA 保障 - 定制开发 |
F. 术语表
| 术语 | 解释 |
|---|---|
| Agentic | 智能体式的,具有自主规划和执行能力 |
| MCP | Model Context Protocol,模型上下文协议 |
| Token | AI 模型处理的文本单元,中文约 1 字 = 2-3 Token |
| Plan Mode | 规划模式,先制定计划再执行 |
| Auto-Accept | 自动批准模式,无需逐步确认 |
| CLAUDE.md | 项目配置文件,定义规范和指令 |
| Slash Command | 斜杠命令,如 /clear、/commit |
| Hook | 钩子,在特定事件触发的自定义脚本 |
| Remote Control | 远程控制,跨设备访问本地会话 |
| Channels | 消息通道,连接 Telegram、Discord 等 |
结语
Claude Code 代表了 AI 编程工具的最新进化形态,它不仅仅是代码补全,而是一个能够理解项目、执行任务、持续学习的智能体系统。
核心要点回顾:
- 理解整体架构:Claude Code 是多平台、智能体式的编码助手
- 善用配置文件:CLAUDE.md 和 Auto Memory 是持久化知识的关键
- 拆解复杂任务:利用 Plan Mode 和渐进式执行
- 跨平台协作:在终端、IDE、移动端无缝切换
- 安全第一:生产环境隔离、定期备份、人工审核危险操作
学习路径建议:
- 第 1 周:熟悉基础命令和文件操作
- 第 2 周:配置 CLAUDE.md 和自定义命令
- 第 3 周:尝试 MCP 集成和高级功能
- 第 4 周:探索并行会话和跨平台工作流
记住:Claude Code 的目标不是替代开发者,而是让开发者从"代码书写者"升级为"AI 协作管理者"。
📝 文档版本:v1.0
📅 更新日期:2026-03-23
✍️ 整理者:基于官方文档和社区实践
🔗 参考来源:https://code.claude.com/docs/
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)