前置知识
阅读本文前,建议先了解:
- 02-Claude Code 基础使用 - 掌握基础使用技巧
- 03-Claude Code 核心功能 - 理解 CLAUDE.md、权限系统
- 04-Claude Code 外部扩展 - 了解 MCP、Hooks、Subagents、Skills
一、扩展思考(Extended Thinking)
1.1 什么是扩展思考
扩展思考 让 Claude 进行深度推理,在给出答案之前先进行内部思考。
默认启用 → Claude 会进行深度推理
↓
复杂问题表现更好
↓
但消耗更多 Token
1.2 切换开关
# 快捷键切换
Option+T / Alt+T # 切换扩展思考
# 会话中查看状态
/effort1.3 调整推理强度
# 设置推理努力等级
/effort # 交互式选择
/effort low # 低强度
/effort medium # 中等
/effort high # 高强度
/effort max # 最大强度1.4 努力等级对比
| 等级 | 说明 | 适用场景 |
|---|---|---|
| low | 快速响应 | 简单问题、快速查询 |
| medium | 平衡 | 日常开发任务 |
| high | 深度推理 | 复杂问题、架构设计 |
| max | 最大努力 | 关键决策、难题解决 |
二、后台任务
2.1 后台任务功能
长时间运行的操作可以在后台继续,不阻塞当前会话。
┌─────────────────────────────────────────┐
│ 后台任务功能 │
├─────────────────────────────────────────┤
│ • Ctrl+B - 放入后台运行 │
│ • Ctrl+T - 查看任务列表 │
│ • Ctrl+F - 终止所有后台任务 │
└─────────────────────────────────────────┘
2.2 操作命令
| 快捷键 | 功能 |
|---|---|
Ctrl+B | 将当前任务放入后台运行 |
Ctrl+T | 查看任务列表 |
Ctrl+F | 终止所有后台代理 |
2.3 适用场景
| 场景 | 说明 |
|---|---|
| 长时间测试 | 运行大型测试套件 |
| 构建任务 | 生产构建、打包 |
| 数据处理 | 大量数据迁移 |
| 并行工作 | 同时运行多个任务 |
三、对话回退(Checkpointing)
3.1 什么是检查点
检查点 让你可以撤销文件更改,回退到之前的对话状态。
每个文件编辑都是可逆的:
↓
编辑前自动快照
↓
按 Esc+Esc 回退
↓
恢复到之前的状态
3.2 操作方法
# 回退到之前的状态
Esc+Esc
# 要求 Claude 撤销
> 撤销刚才的更改3.3 检查点限制
| 限制 | 说明 |
|---|---|
| 仅文件更改 | 只涵盖文件编辑的快照 |
| 会话本地 | 仅在当前会话有效 |
| 无法撤销外部操作 | 数据库、API、部署无法回退 |
四、远程控制与 Web 会话
4.1 远程控制(Remote Control)
远程控制 允许从浏览器控制终端会话。
# 启用远程访问
claude remote-control使用场景:
| 场景 | 说明 |
|---|---|
| 多设备访问 | 从手机/平板控制 |
| 团队协作 | 共享会话给同事 |
| 可视化界面 | 使用 Web UI |
4.2 Web 会话
创建 Web 会话:
# 创建 Web 会话
claude --remoteWeb 会话特点:
| 特点 | 说明 |
|---|---|
| 运行位置 | claude.ai/code |
| 上下文窗口 | 1M token |
| 长运行任务 | 支持长时间运行 |
| 云环境 | 在云端执行 |
适用场景:
本地资源有限?
↓
使用 Web 会话
↓
1M token 上下文
↓
云端执行任务
五、Git 工作流
5.1 提交代码
使用 /commit 命令:
# 自动分析变更并创建提交
/commit自然语言提交:
# 在会话中
> 帮我提交当前的修改,描述清楚变更内容提交流程:
flowchart LR A[用户请求提交] --> B[Claude 分析变更] B --> C[生成提交描述] C --> D[运行 git commit] D --> E[提交完成]
5.2 创建 Pull Request
自然语言请求:
# 在会话中
> 帮我创建一个 Pull RequestClaude 自动执行:
1. 分析所有提交和变更
↓
2. 生成 PR 标题和描述
↓
3. 推送分支到远程
↓
4. 创建 Pull Request
↓
5. 返回 PR 链接
PR 描述示例:
## Summary
这个 PR 实现了用户认证功能,包括:
- 登录/注册 API
- JWT token 生成和验证
- 密码加密存储
## Changes
- `src/auth/login.ts` - 登录逻辑
- `src/auth/register.ts` - 注册逻辑
- `src/middleware/auth.ts` - 认证中间件
## Testing
- [x] 单元测试通过
- [x] 集成测试通过5.3 Worktree 并行开发
什么是 Worktree:
Git Worktree 允许在不影响主工作区的情况下并行处理多个任务。
主工作区(main 分支)
↓
创建 feature-auth worktree
↓
独立的目录
↓
并行开发互不干扰
启动 Worktree 会话:
# 在 Git worktree 中启动
claude -w feature-authWorktree 优势:
| 优势 | 说明 |
|---|---|
| 并行会话 | 同时运行多个 Claude 会话 |
| 分支隔离 | 每个分支有独立目录 |
| 上下文隔离 | 每个会话独立上下文 |
| 高效切换 | 无需 git checkout 切换 |
5.4 Git 操作命令
内置 Git 工具:
| 工具 | 功能 |
|---|---|
Bash(git status) | 查看状态 |
Bash(git diff) | 查看变更 |
Bash(git log) | 查看历史 |
Bash(git add) | 添加文件 |
Bash(git commit) | 提交变更 |
Bash(git push) | 推送远程 |
直接运行 Git 命令:
# 使用!前缀直接运行
> !git status
> !git diff
> !git log --oneline5.5 分支管理
创建功能分支:
# 在会话中
> 帮我创建一个 feature-auth 分支分支命名规范:
feature/xxx - 新功能
fix/xxx - Bug 修复
hotfix/xxx - 紧急修复
chore/xxx - 杂项任务
docs/xxx - 文档更新
5.6 代码审查
审查变更:
# 审查最近的变更
> 审查最近的代码变更审查特定文件:
# 审查特定文件
> @src/auth/login.ts 审查这个文件审查报告格式:
## 审查结果
### ✅ 优点
- 代码结构清晰
- 错误处理完整
### ⚠️ 建议改进
- 添加更多注释
- 考虑边界情况
### ❌ 必须修复
- 缺少输入验证
- 潜在的安全风险5.7 Git 工作流最佳实践
| 建议 | 说明 |
|---|---|
| 小步提交 | 频繁提交,小变更 |
| 清晰描述 | 提交信息描述清楚 |
| 分支开发 | 功能在分支开发 |
| 及时同步 | 定期同步主分支 |
提交信息规范:
<type>(<scope>): <subject>
<body>
<footer>
示例:
feat(auth): 实现用户登录功能
- 添加登录 API 端点
- 实现 JWT token 生成
- 添加密码验证
Closes #123
六、IDE 集成
6.1 VS Code 集成
安装扩展:
1. 打开 VS Code 扩展市场
2. 搜索 "Claude Code"
3. 点击安装
功能特点:
| 功能 | 说明 |
|---|---|
| 内联 diff | 直接在编辑器中审查变更 |
| @引用文件 | 在对话框中引用文件 |
| 计划审核 | 审核实施计划后执行 |
| 快捷键 | Cmd+Shift+P 快速访问 |
使用方式:
1. 打开命令面板:Cmd+Shift+P
2. 搜索 "Claude Code"
3. 选择命令执行
6.2 JetBrains 插件
支持的 IDE:
| IDE | 说明 |
|---|---|
| IntelliJ IDEA | Java 开发 |
| PyCharm | Python 开发 |
| WebStorm | Web 开发 |
| GoLand | Go 开发 |
| 其他 JetBrains IDE | 通用支持 |
安装方式:
1. 打开 JetBrains 插件市场
2. 搜索 "Claude Code"
3. 点击安装
4. 重启 IDE
功能特点:
| 功能 | 说明 |
|---|---|
| 交互式 diff | 可视化审查变更 |
| 选中代码上下文 | 选中代码自动共享 |
| 内联对话 | 在 IDE 中直接对话 |
6.3 桌面应用
功能特点:
┌─────────────────────────────────────────┐
│ 桌面应用功能 │
├─────────────────────────────────────────┤
│ • 可视化 diff 审查 │
│ • 多会话运行 │
│ • 定时任务调度 │
│ • 云环境支持 │
└─────────────────────────────────────────┘
发送会话到桌面应用:
# 在终端会话中
/desktop6.4 Chrome 扩展
功能特点:
| 功能 | 说明 |
|---|---|
| Web 自动化 | 浏览器自动化测试 |
| 调试辅助 | 浏览器调试支持 |
| 网页抓取 | 获取网页内容 |
使用场景:
| 场景 | 说明 |
|---|---|
| E2E 测试 | 端到端测试自动化 |
| 网页分析 | 分析网页结构和内容 |
| 调试辅助 | 开发者工具集成 |
6.5 CI/CD 集成
GitHub Actions 示例:
name: Claude Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Claude Code Review
run: |
claude -p "审查代码变更" > review.mdGitLab CI/CD 示例:
review:
stage: review
script:
- claude -p "审查代码" > review.md
artifacts:
paths:
- review.md适用场景:
| 场景 | 说明 |
|---|---|
| 代码审查 | 自动审查 PR 变更 |
| 质量检查 | 自动化质量报告 |
| 安全检查 | 自动化安全扫描 |
| 文档更新 | 自动更新文档 |
6.6 界面类型对比
| 界面 | 优势 | 适用场景 |
|---|---|---|
| 终端(CLI) | 默认、完全功能 | 日常开发 |
| VS Code | 内联 diff、@引用 | VS Code 用户 |
| JetBrains | 选中代码上下文 | JetBrains 用户 |
| 桌面应用 | 可视化、多会话 | 复杂任务 |
| Web 会话 | 1M token 上下文 | 大项目 |
| Remote | 浏览器控制 | 远程访问 |
选择建议:
本地终端开发? → 使用终端 CLI
VS Code 用户? → 使用 VS Code 扩展
JetBrains 用户? → 使用 JetBrains 插件
需要可视化 diff? → 使用桌面应用
大上下文需求? → 使用 Web 会话
远程/移动访问? → 使用 Remote Control
七、项目配置最佳实践
7.1 创建 CLAUDE.md
每个项目都应有 CLAUDE.md,记录构建命令、代码规范和项目结构。
# 项目概述
[项目名称] - [简要描述]
# 构建命令
- `npm install` — 安装依赖
- `npm run dev` — 启动开发服务器
- `npm test` — 运行测试
- `npm run build` — 生产构建
# 代码规范
- 使用 TypeScript 严格模式
- 组件使用函数式写法
- 缩进:2 个空格
# 项目结构
- `src/api/` — API 处理逻辑
- `src/components/` — React 组件
- `src/utils/` — 工具函数7.2 配置权限规则
在 settings.json 中预授权常用命令,减少授权提示:
{
"permissions": {
"defaultMode": "default",
"allow": [
"Bash(npm run *)",
"Bash(git status)",
"Bash(git commit *)",
"Read(src/**)",
"Edit(src/**)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push *)",
"Edit(.env)"
]
}
}7.3 设置 Hooks
配置自动格式化、通知等自动化流程:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude 需要输入\"'"
}
]
}
]
}
}八、工作流优化
8.1 善用 Plan 模式
复杂任务先规划再执行:
1. Shift+Tab 切换到 Plan Mode
↓
2. 让 Claude 读取代码库,理解结构
↓
3. 生成详细的实施计划
↓
4. 审核计划,细化要求
↓
5. 切换回 Default 模式执行
8.2 使用子代理
为重复性任务创建专用代理:
<!-- .claude/agents/code-reviewer.md -->
---
name: code-reviewer
description: 专业代码审查员
tools: Read, Grep, Glob, Bash
disallowedTools: Write, Edit
---
你是一个专业的代码审查员,关注代码质量、安全性和性能。8.3 管理上下文
用/compact 释放空间,用子代理处理冗长操作:
# 检查上下文使用
/context
# 压缩对话历史
/compact
# 复杂任务使用子代理
> 使用 code-reviewer 代理审查代码8.4 用/btw 旁问
快速问题不影响主对话:
# 快速旁问
/btw 这个函数是什么意思?
# 不影响主对话历史九、提示技巧
9.1 具体明确
| ❌ 模糊 | ✅ 具体 |
|---|---|
| 修复 bug | 修复 src/api/auth.ts 第 45 行的空指针错误 |
| 写个测试 | 为 validateEmail 写测试:‘user@example.com’→true, ‘invalid’→false |
| 看看代码 | 读取 src/auth/ 并理解会话处理逻辑 |
9.2 提供上下文
用@引用相关文件:
# 引用文件
> @src/components/Button.tsx 这个组件有什么问题?
# 引用多个文件
> 参考 @package.json 的依赖,帮我升级 React9.3 分步请求
复杂任务分解为小步骤:
第一步:读取 src/auth/ 理解当前实现
↓
第二步:分析问题所在
↓
第三步:生成修复计划
↓
第四步:实施修复
↓
第五步:运行测试验证
9.4 审查变更
让 Claude 解释改动再接受:
# 要求解释
> 解释一下你做了什么改动
# 审查后再接受
> 看起来不错,继续9.5 提供验证标准
给 Claude 一些东西来验证:
# 提供测试用例
> 实现 validateEmail,测试用例:
> 'user@example.com' → true
> 'invalid' → false
> 'user@.com' → false
> 之后运行测试
# 粘贴预期 UI 截图
> 实现这个设计,完成后对比截图十、安全建议
10.1 保护敏感信息
❌ 不要把密钥写入 CLAUDE.md 或提交到仓库
✅ 使用 .claude/settings.local.json 存放本地敏感配置
10.2 阻止危险操作
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(git push *)",
"Edit(.env)",
"Edit(**/secrets*)"
]
}
}10.3 生产环境操作
生产环境操作使用 Plan 模式先审查:
↓
1. Plan Mode 分析
↓
2. 审核实施计划
↓
3. 批准后执行
10.4 使用检查点
编辑前自动快照
↓
有问题按 Esc+Esc 回退
↓
恢复到安全状态
十一、上下文管理
11.1 理解上下文成本
| 功能 | 上下文成本 |
|---|---|
| CLAUDE.md | 每个请求 |
| Skills | 低(仅描述) |
| MCP 服务器 | 每个请求 |
| Subagents | 隔离 |
| Hooks | 零 |
11.2 减少令牌使用
保持 CLAUDE.md 在约 500 行以下
↓
将参考材料移到 Skills
↓
使用 Subagents 处理长任务
↓
定期使用/compact 压缩
11.3 压缩控制
# 指定焦点压缩
/compact focus on the API changes
# 查看上下文使用
/context十二、常用命令组合
12.1 日常开发
# 开始工作
claude -c # 继续最近的会话
/context # 检查上下文
> @src/ 帮我分析这个模块
# 提交代码
/commit # 自动创建提交
> 帮我推送到远程12.2 代码审查
# 使用子代理审查
> 使用 code-reviewer 代理审查 src/api/
# 或使用 Skill
/review # 调用审查 Skill12.3 调试问题
# 调试会话问题
/debug # 诊断会话问题
# 切换模型尝试
/model # 切换 AI 模型十三、团队协作假设
13.1 共享配置
项目级 CLAUDE.md → 团队共享项目约定
项目级 settings.json → 统一权限配置
项目级 Skills → 共享工作流
13.2 个人配置
用户级 settings.json → 个人偏好
用户级 Skills → 个人工作流
本地 settings.local.json → 敏感配置
十四、总结
高级功能速查
扩展思考:Option+T 切换 / /effort 调整
后台任务:Ctrl+B 后台 / Ctrl+T 查看
对话回退:Esc+Esc 回退
远程控制:claude remote-control
Web 会话:claude --remote
桌面应用:/desktop 发送
CI/CD: claude -p "命令" --output-format json
Git 命令速查
提交: /commit 或 "帮我提交"
PR: "创建 Pull Request"
Worktree:claude -w feature-name
状态: !git status
diff: !git diff
日志: !git log
IDE 集成速查
VS Code: 扩展市场安装 "Claude Code"
JetBrains: 插件市场安装
桌面应用: /desktop 发送会话
Chrome: Web 自动化和测试
Remote: claude remote-control
Web: claude --remote
CI/CD: claude -p "命令" --output-format json
最佳实践检查清单
┌─────────────────────────────────────────┐
│ Claude Code 最佳实践清单 │
├─────────────────────────────────────────┤
│ □ 每个项目创建 CLAUDE.md │
│ □ 配置权限规则预授权常用命令 │
│ □ 设置 Hooks 自动化流程 │
│ □ 复杂任务使用 Plan 模式 │
│ □ 为重复任务创建子代理 │
│ □ 定期使用/compact 管理上下文 │
│ □ 提示具体明确,提供上下文 │
│ □ 不提交敏感信息 │
│ □ 生产环境操作先审查 │
└─────────────────────────────────────────┘
核心要点
- 扩展思考:深度推理,可调强度(low/medium/high/max)
- 后台任务:长时间运行不阻塞,Ctrl+B/Ctrl+T/Ctrl+F 管理
- 对话回退:检查点机制,Esc+Esc 可撤销文件更改
- 远程/Web:浏览器控制、1M token 大上下文
- Git 工作流:自动提交、创建 PR、Worktree 并行开发
- IDE 集成:VS Code、JetBrains、桌面应用、CI/CD
- 工作流优化:Plan 模式、子代理、上下文管理、提示技巧
- 安全建议:保护敏感信息、阻止危险操作、检查点回退
延伸阅读
- 编程开发(Claude Code) - 返回总览
- 02-Claude Code 基础使用 - 基础使用与配置
- 03-Claude Code 核心功能 - CLAUDE.md、权限、Memory
- 04-Claude Code 外部扩展 - MCP、Hooks、Subagents、Skills