Claude Code 最佳实战指南

0 阅读7分钟

🎯 核心心法(理解它们,剩下都是变奏)

  1. 上下文窗口是最宝贵的资源。每条消息、读的每个文件、每次命令输出都在吃上下文。空间越满,Claude 越笨。只让有用的信息进入,任务切换时痛快地 /clear
  2. 给 Claude 自我验证的方式——测试、Lint、截图对比、tsc --noEmit……有了客观反馈,它能自己迭代到对,你才有时间摸鱼。
  3. 顺序是 Explore → Plan → Code。先让它读懂上下文,再确认方案,最后再写。改一行的小活(改 typo、加 log)可以直接动手,改多个文件或不熟悉的代码,一定要先规划

Gemini_Generated_Image_eq2qcqeq2qcqeq2q.png


🔄 推荐工作流:标准四步法

Plan Mode 探索 → Plan Mode 出方案 → Normal Mode 实现 → 跑测试 + 提PR
阶段模式你说的话(示例)
ExplorePlan Mode(Shift+Tab 切换)"读一下 /src/auth,搞清楚 session 和登录怎么处理的,顺便看看环境变量里密钥是怎么管的"
PlanPlan Mode"我想加 Google OAuth。要改哪些文件?session 流程是什么?给我一份详细计划"
ImplementNormal Mode"按你的计划实现 OAuth 流程,给 callback handler 写测试,跑完测试并修掉失败的"
CommitNormal Mode"用一个有信息量的 commit message 提交,并开一个 PR"

💡 编辑计划:plan 出来后按 Ctrl+G,会用默认编辑器打开,可以直接润色。


🛠️ 9 大抄作业级 Prompt(直接拿去改)

1. 摸新代码库

1. cd /path/to/project
2. claude
3. "给我这个代码库的整体概览"
4. "讲讲这里用的主要架构模式"
5. "认证是怎么处理的?"

2. 修 Bug

"跑 npm test 时报错了:<粘贴完整 stack trace>"
"user.ts 里的 @ts-ignore,给我列几种修法"
"按你建议的方案,给 user.ts 加上空值检查"

把复现命令 + 完整 stack trace 一起喂给它,能省下无数回合。

3. 重构旧代码

"找一下代码库里用到的过期 API"
"给点建议:怎么把 utils.js 重构成用现代 JS 特性"
"用 ES2024 特性重构 utils.js,保持原有行为不变"
"跑一下重构后代码的测试"

4. 写测试

"找出 NotificationsService.swift 里没被测试覆盖的函数"
"给 notification service 加测试,覆盖边界场景,不要用 mock"
"跑新加的测试,失败的修掉"

5. 开 PR

"总结一下我对认证模块做的改动"
"开个 PR"
"PR 描述里再补一些关于安全改进的上下文"

gh pr create 创建后,会话会自动绑定 PR,下次 claude --from-pr 123 直接接回去。

6. 写文档

"找出 auth 模块里缺 JSDoc 注释的函数"
"给 auth.js 里没注释的函数补上 JSDoc"
"把生成的文档润色一下,加点上下文和示例"

7. 处理图片 / 截图

把图拖进窗口、Ctrl+V 粘贴、或 "分析这张图:/path/to/image.png"

"这是报错截图,是什么原因?"
"[贴设计稿] 按这个设计实现,完成后截图对比,列出差异并修复"

8. 用 @ 精准投喂上下文

"解释一下 @src/utils/auth.js 里的逻辑"
"@src/components 的结构是怎样的?"

9. 当 Unix 工具用(CI / 脚本里)

# 管道分析
cat build-error.txt | claude -p '简明地解释这个构建错误的根本原因' > out.txt
# 结构化输出
cat code.py | claude -p '分析这段代码里的 bug' --output-format json > analysis.json

⚙️ 环境配置(一次配好,长期受益)

1. CLAUDE.md:项目的持久记忆

运行 /init 生成骨架。位置可以是 ./CLAUDE.md(团队共享)、./CLAUDE.local.md(个人,加进 .gitignore)或 ~/.claude/CLAUDE.md(全局)。

✅ 必须写➖ 不要写
Claude 猜不到的 bash 命令看代码就能推出来的内容
偏离默认的代码风格 / 测试命令详细 API 文档(放链接就行)
仓库礼仪(分支命名、PR 规范)频繁变化的信息 / "写干净代码"
容易踩到的 gotcha文件级的冗长描述

⚠️ 文件太长 Claude 会忽略一半。自检技巧:删掉这行会不会让它犯错?不会就删。重点加 IMPORTANT: 前缀。支持 @docs/git-instructions.md 导入。

2. 权限配置:减少点 Yes 的疲惫

方式一句话适用场景
Auto mode分类器把关,只拦危险动作日常大多数任务,首选
Allowlist/permissionsnpm run lint 等加白反复使用的安全命令
Sandbox/sandbox 启用 OS 级隔离需要更大自由度又想兜底
# 用 auto mode 跑
claude --permission-mode auto -p "fix all lint errors"

3. 给 Claude 装上更多翅膀

工具何时用
CLI 工具gh, aws调外部服务最省 token 的方式,装上就行
MCP serversclaude mcp add 接 Notion、Figma、数据库
Hooks确定性触发(如 edit 后自动跑 eslint,阻止写入 migrations)
Skills按需加载的领域知识,放在 .claude/skills/<name>/SKILL.md

🚀 进阶玩法:规模化与隔离

Subagents:保护主对话的上下文

研究任务委托给子代理,它们在独立上下文里跑,只返回摘要。

"用 subagent 调查我们的认证系统如何处理 token 刷新,有没有现成 OAuth 工具"

Git Worktrees:多个 Claude 互不干扰

claude --worktree feature-auth
claude --worktree bugfix-123

记得把 .claude/worktrees/ 加到 .gitignore

Fan Out:跨文件批量执行

for file in $(cat files.txt); do
  claude -p "把 $file 从 React 迁移到 Vue。返回 OK 或 FAIL。" \
  --allowedTools "Edit,Bash(git commit *)"
done

先在 2-3 个文件上测试 prompt,再全量跑!

Writer / Reviewer 模式

Session A (Writer)Session B (Reviewer)
"实现 API 限流中间件"
"Review @src/middleware/rateLimiter.ts 的限流实现,找边界情况、竞态条件"
"处理 review 反馈:[B 的输出]"

🧹 会话与上下文管理

跑偏了怎么办

  • Esc:立刻打断,上下文保留。
  • Esc + Esc / /rewind:打开回退菜单,恢复之前的对话和代码状态。
  • 纠正 2 次还不对? 上下文已被污染,/clear 重写更具体的 prompt 重新开始。

上下文清理

  • /clear:任务切换时必用,重置上下文。
  • /compact 聚焦 API 变更:手动压缩,保留指定重点。
  • /btw 这个函数干嘛的:弹层问答,答案不进历史,极其省上下文。

恢复会话

claude --continue          # 恢复最近的对话
claude --resume            # 从历史会话中选择
claude -n auth-refactor    # 给会话命名
claude --resume auth-refactor # 按名字恢复

🚨 常见反模式(避开这些坑)

反模式症状解法
厨房水槽会话一个会话里做不相关任务,上下文充满噪音不同任务之间 /clear
反复纠正纠正两三次还是不对/clear,用更具体的 prompt 重新开始
CLAUDE.md 膨胀规则太长,Claude 忽略一半无情修剪,能转 Hook 的就转 Hook
信任但不验证代码看起来对,但跑起来没处理边界始终提供验证手段(测试、脚本、截图)
无限探索"你研究下…" → 它读了几百个文件限定调查范围,或用 subagent 隔离

📋 速查卡

实用快捷键

快捷键作用
Shift+Tab切换模式(Normal → Auto-Accept → Plan)
Esc停止当前动作
Esc + Esc打开回退菜单
Ctrl+G在编辑器中打开/编辑计划
Ctrl+O切换 verbose 模式(查看思考过程)
Alt+T切换 thinking mode

常用命令

# 启动
claude                              # 正常启动
claude --permission-mode plan       # 直接进 Plan Mode
claude --permission-mode auto       # Auto Mode
claude --worktree feature-x         # 隔离 worktree 启动
# 会话内
/init       # 生成 CLAUDE.md 骨架
/clear      # 清空上下文
/compact    # 压缩上下文
/rewind     # 回退到检查点
/btw        # 侧边快速提问(不入上下文)
/rename X   # 重命名当前会话

💡 附加:长任务跑后台时叫你一声

~/.claude/settings.json 加通知 Hook:

{
  "hooks": {
    "Notification": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "osascript -e 'display notification \"Claude 需要你的关注\" with title \"Claude Code\"'"
      }]
    }]
  }
}

(Linux 换 notify-send,Windows 用 PowerShell 弹窗)


最后

这是基于 Claude Code 官方 Best PracticesCommon Workflows 的提炼。 面向已经在用 Claude Code,但还没完全发挥它能力的开发者。5分钟抓心法,随时当手册查。