本文汇总了 Claude Code 的实用技巧与最佳实践,涵盖从基础操作到高级自动化的全方位内容。Claude Code 是 Anthropic 推出的智能编程代理环境,与传统聊天机器人不同,它能够主动读取文件、执行命令、修改代码,并自主完成复杂任务。
重要概念:Claude Code 的上下文窗口(Context Window)是最宝贵的资源。Opus 4.5 模型拥有 200K token 的上下文窗口,但随着对话延长,性能会逐渐下降。掌握上下文管理是高效使用 Claude Code 的核心技能。
第一部分:项目初始化与配置
技巧 1:使用 /init 初始化项目
这是开启任何项目时应执行的第一条命令。/init 会分析你的代码库,检测构建系统、测试框架和代码模式,生成一份 CLAUDE.md 项目说明书。
cd your-project
claude
> /init
执行过程:
- 扫描项目结构和依赖关系
- 识别已有的配置文件(如 GitHub Copilot 指南、Cursor 规则等)
- 分析数据库配置和技术栈
- 生成结构化的
CLAUDE.md文件
CLAUDE.md 文件位置与作用域:
| 位置 | 路径 | 作用范围 |
|---|---|---|
| 个人全局 | ~/.claude/CLAUDE.md |
所有项目通用 |
| 项目根目录 | ./CLAUDE.md |
当前项目(可提交到 Git) |
| 项目本地 | ./CLAUDE.local.md |
当前项目(添加到 .gitignore) |
| 父目录 | 任意父级 CLAUDE.md |
适用于 Monorepo 场景 |
| 子目录 | 子文件夹中的 CLAUDE.md |
按需加载 |
CLAUDE.md 最佳实践:
应该包含的内容:
- Claude 无法从代码推断的 Bash 命令
- 与默认不同的代码风格规则
- 测试指令和首选测试运行器
- 仓库规范(分支命名、PR 约定)
- 项目特有的架构决策
- 开发环境配置(必需的环境变量)
- 常见陷阱或非直观行为
不应该包含的内容:
- Claude 能从代码中读取的信息
- Claude 已知的标准语言约定
- 详细的 API 文档(改为提供链接)
- 频繁变化的信息
- 冗长的解释或教程
- 逐文件的代码库描述
示例 CLAUDE.md:
# 代码风格
- 使用 ES modules (import/export) 语法,而非 CommonJS (require)
- 尽可能使用解构导入 (如 import { foo } from 'bar')
# 工作流程
- 完成代码修改后务必进行类型检查
- 优先运行单个测试而非整个测试套件,以提升性能
技巧 2:使用 <memory> 标签动态更新记忆
在输入框中使用 <memory> 标签,可以让 Claude Code 直接将内容添加到 CLAUDE.md 文件中,无需手动编辑。
<memory>不要自动运行 npm run build</memory>
Claude 会智能地将这条规则添加到文档的合理位置,而不是简单追加到末尾。它还会自动翻译成英文并优化表述。
应用场景:
- 在编程过程中发现需要强调的规则时即时添加
- 避免反复出现的错误
- 沉淀协作经验
技巧 3:使用 Rules 目录实现模块化配置
对于大型项目,可以创建 .claude/rules/ 目录来存放针对不同维度的专项规则。
.claude/
├── rules/
│ ├── ui-design.md # UI 设计规范
│ ├── testing.md # 测试规范
│ ├── security.md # 安全规范
│ └── api.md # API 开发规范
可以使用 YAML 配置条件加载规则:
---
globs:
- "src/api/**/*.ts"
---
# API 规则
- 所有 API 端点必须进行输入参数校验
- 使用 RESTful 命名约定
- 返回一致的错误格式
技巧 4:复利工程(Compound Interest Engineering)
这是 Claude Code 创始人 FirstChney 推荐的实践方法:每次完成 PR 后,询问 Claude “我的 PR 有没有什么经验可以添加到 CLAUDE.md 里”。
操作流程:
- 完成功能开发和 PR
- 让 Claude 复盘本次开发过程
- 将有价值的经验沉淀到
CLAUDE.md - 团队成员共同维护和改进
这样,项目说明书会随着协作不断完善,AI 助手的工作质量也会持续提升。
第二部分:上下文管理与输入技巧
技巧 5:使用 @ 符号精准添加上下文
@ 可以快速引用文件、目录或 MCP 工具,支持模糊匹配。
修改 @login.tsx 页面,参考 @signup 组件的风格
支持的引用类型:
@文件名– 引用特定文件@目录/– 引用整个目录@mcp服务名– 引用 MCP 工具
技巧:当需要修改某个页面时,同时 @ 相关的组件文件,让 Claude 能够保持风格一致性。
技巧 6:使用 ! 前缀直接执行 Bash 命令
在输入框开头加 ! 可以直接运行 Bash 命令,无需消耗 token 让 Claude 理解。
!git status
!npm test
!ls -la
优势:
- 命令输出直接添加到上下文
- 不浪费 token 在命令解释上
- 实时显示进度和输出
- 支持
Ctrl+B后台运行
技巧 7:Ctrl+R 反向搜索历史提示词
按 Ctrl+R 可以搜索过去使用过的提示词。
操作方法:
- 按
Ctrl+R激活搜索 - 输入关键词(如 “i18n”)
- 再按
Ctrl+R在匹配结果中循环 - 按
Tab编辑后使用,或按Enter直接执行 - 按
Ctrl+C取消搜索
技巧 8:Ctrl+S 暂存 Prompt
当 Claude 正在执行长时间任务时,使用 Ctrl+S 暂存新的输入,避免打断当前任务。
典型场景:
- 需求 A 正在执行中
- 想到了需求 B(依赖 A 完成后才能进行)
- 用
Ctrl+S暂存需求 B 的指令 - A 完成后,暂存的内容自动出现在输入框
技巧 9:多行输入方法
| 方法 | 快捷键 | 适用场景 |
|---|---|---|
| 快速换行 | \ + Enter |
所有终端 |
| macOS 默认 | Option+Enter |
macOS |
| iTerm2/WezTerm/Ghostty/Kitty | Shift+Enter |
支持的终端 |
| 控制序列 | Ctrl+J |
换行字符 |
| 粘贴模式 | 直接粘贴 | 代码块、日志 |
第三部分:快捷键完整参考
通用控制
| 快捷键 | 功能 | 说明 |
|---|---|---|
Ctrl+C |
取消当前输入或生成 | 标准中断 |
Ctrl+D |
退出 Claude Code | EOF 信号 |
Ctrl+G |
用默认编辑器打开 | 编辑提示词 |
Ctrl+L |
清屏 | 保留对话历史 |
Ctrl+O |
切换详细输出模式 | 查看工具执行细节 |
Ctrl+R |
反向搜索历史 | 搜索之前的命令 |
Ctrl+V / Cmd+V |
粘贴图片 | 从剪贴板粘贴 |
Ctrl+B |
后台运行任务 | tmux 用户需按两次 |
Esc + Esc |
回退代码/对话 | 恢复到之前的状态(Checkpoint) |
Shift+Tab / Alt+M |
切换权限模式 | Auto-Accept / Plan / Normal |
Option+P / Alt+P |
切换模型 | 不清空当前提示词 |
Option+T / Alt+T |
切换深度思考 | 需先运行 /terminal-setup |
文本编辑
| 快捷键 | 功能 |
|---|---|
Ctrl+A |
跳到行首 |
Ctrl+E |
跳到行尾 |
Ctrl+K |
删除到行尾 |
Ctrl+U |
删除整行 |
Ctrl+Y |
粘贴删除的文本 |
Alt+B |
向后移动一个单词 |
Alt+F |
向前移动一个单词 |
Vim 模式
使用 /vim 命令启用 Vim 风格编辑,或通过 /config 永久配置。
第四部分:会话管理
技巧 10:会话持久化与恢复
Claude Code 会话是持久化的,可以随时恢复。
# 继续最近的会话
claude --continue
# 或简写
claude -c
# 选择历史会话恢复
claude --resume
# 或简写
claude -r
会话存储位置:
~/.claude/projects/{项目路径}/{sessionId}/
技巧 11:会话命名与管理
使用 /rename 为会话命名,方便后续查找:
/rename oauth-migration
/rename debugging-memory-leak
在 /resume 列表中:
- 按
p预览会话 - 按
Ctrl+B切换分支 - 按
Ctrl+A显示其他项目的会话
技巧 12:Checkpoint 回退机制
双击 Esc 或运行 /rewind 可以回退到之前的检查点。
回退选项:
- 仅恢复对话(保留代码更改)
- 仅恢复代码(保留对话)
- 同时恢复代码和对话
注意:已执行的 Bash 命令(如 git commit、rm -rf)无法通过 Checkpoint 恢复,请及时使用 Git 进行版本管理。
技巧 13:Cloud Remote – 从网页端接管会话
在 Claude 网页版开启任务后,可以使用 /teleport 命令在本地终端接管:
/teleport
适用场景:
- 外出时在手机/平板上启动任务
- 回到电脑后用 CLI 继续工作
- 云端执行与本地执行灵活切换
第五部分:斜杠命令参考
常用命令
| 命令 | 功能 |
|---|---|
/init |
初始化项目,生成 CLAUDE.md |
/clear |
清除对话历史 |
/compact [指令] |
压缩上下文,可指定保留重点 |
/config |
打开设置界面 |
/context |
可视化当前上下文使用情况 |
/cost |
显示 token 使用统计 |
/usage |
显示计划额度和限制(订阅用户) |
/export [文件名] |
导出对话为 Markdown |
/model |
选择或切换 AI 模型 |
/permissions |
查看或更新权限配置 |
/plan |
进入计划模式 |
/resume [会话] |
恢复历史会话 |
/rewind |
回退对话和/或代码 |
/stats |
查看使用统计和活跃度图表 |
/theme |
更改颜色主题 |
/chrome |
切换浏览器集成 |
/mcp |
管理 MCP 服务器 |
/hooks |
管理生命周期钩子 |
/agents |
管理子代理 |
语言设置
通过 /config 可以设置 Claude 的回复语言:
/config
# 找到 Language 选项,设置为中文
第六部分:深度思考与计划模式
技巧 14:Ultra Thinking 深度思考模式
在复杂架构决策或疑难调试时,使用深度思考模式让 Claude 分配更多推理 token。
ultrathink: 分析当前项目的商业模式和技术架构,给出优化建议
思考预算等级:
think– 基础思考think harder– 增强思考ultrathink– 最大思考预算(最多 32K token)
技巧 15:Plan Mode 计划模式
计划模式是 90% 场景下推荐使用的工作方式,它会:
- 分发多个子代理并行分析代码库
- 汇总分析结果给主代理
- 与你互动确认需求细节
- 生成详细的分步计划
进入方式:
/plan
# 或
Shift+Tab 切换到 Plan Mode
计划文件存储位置:
.claude/plans/
计划文档结构:
- 目标定义
- 分阶段步骤
- 当前状态与预期状态
- 具体实施方法
- 验收标准
- 风险披露
推荐工作流程:
- 探索阶段 – 了解代码库
- 计划阶段 – 制定方案并确认
- 执行阶段 – 实施代码修改
- 验证阶段 – 运行测试确认
第七部分:子代理(Subagent)
技巧 16:理解子代理的价值
子代理是节省上下文的利器。每个子代理拥有独立的 200K 上下文窗口,完成任务后只将摘要返回主对话。
比喻:圣诞老人不亲自包装每一个礼物,他有小精灵帮忙。子代理就是这些小精灵。
内置子代理
| 子代理 | 模型 | 工具 | 用途 |
|---|---|---|---|
| Explore | Haiku | 只读 | 代码搜索和分析 |
| Plan | 继承主会话 | 只读 | 计划模式研究 |
| general-purpose | 继承主会话 | 全部 | 复杂多步骤任务 |
技巧 17:创建自定义子代理
在 .claude/agents/ 目录创建 Markdown 文件:
---
name: code-reviewer
description: 代码审查专家。在代码修改后主动审查质量和安全性。
tools: Read, Grep, Glob, Bash
model: sonnet
---
你是一名高级代码审查员。审查清单:
- 代码清晰可读
- 函数和变量命名良好
- 无重复代码
- 正确的错误处理
- 无暴露的密钥或 API 密钥
- 输入验证已实现
技巧 18:并行执行子代理
对于独立的调研任务,可以同时启动多个子代理:
使用子代理并行研究认证模块、数据库模块和 API 模块
前台 vs 后台子代理:
- 前台子代理:阻塞主对话,可以交互
- 后台子代理:并行执行,自动处理权限
按 Ctrl+B 可将正在运行的任务移到后台。
第八部分:Skills(技能)
技巧 19:理解 Skills 的作用
Skills 是给 Agent 用的说明书,类似于菜谱。它包含:
- 指令说明
- 执行脚本
- 资源文件
Skills 存储位置:
| 位置 | 路径 | 作用范围 |
|---|---|---|
| 企业级 | 托管设置 | 组织内所有用户 |
| 个人 | ~/.claude/skills/<skill-name>/SKILL.md |
所有项目 |
| 项目 | .claude/skills/<skill-name>/SKILL.md |
当前项目 |
| 插件 | <plugin>/skills/<skill-name>/SKILL.md |
启用插件的地方 |
技巧 20:创建自定义 Skill
示例:代码解释技能
---
name: explain-code
description: 使用可视化图表和类比解释代码
---
当解释代码时:
1. 首先用简单语言概述功能
2. 使用 Mermaid 图表展示流程
3. 提供现实世界的类比
4. 逐步分解复杂部分
示例:修复 GitHub Issue 技能
---
name: fix-issue
description: 修复 GitHub issue
disable-model-invocation: true
argument-hint: [issue-number]
---
修复 GitHub issue $ARGUMENTS:
1. 使用 `gh issue view` 获取详情
2. 理解问题描述
3. 搜索相关代码
4. 实现修复
5. 编写测试
6. 创建提交
使用 disable-model-invocation: true 可以防止 Claude 自动触发该技能,只能通过 /fix-issue 123 手动调用。
技巧 21:Skill 中使用动态上下文注入
使用 !command“ 语法可以在 Skill 执行前运行 Shell 命令并注入结果:
---
name: pr-summary
description: 总结 PR 变更
context: fork
agent: Explore
---
## PR 上下文
- PR diff: !`gh pr diff`
- PR 评论: !`gh pr view --comments`
- 变更文件: !`gh pr diff --name-only`
## 任务
总结这个 PR...
第九部分:Hooks(钩子)
技巧 22:理解 Hooks 的作用
Hooks 是在 Claude Code 生命周期特定时刻执行的 Shell 脚本,提供确定性控制。
Hook 事件类型:
| 事件 | 触发时机 |
|---|---|
| PreToolUse | 工具调用前(可阻止) |
| PostToolUse | 工具调用后 |
| PermissionRequest | 显示权限对话框时 |
| UserPromptSubmit | 用户提交提示词时 |
| Notification | 发送通知时 |
| Stop | 响应完成时 |
| SubagentStop | 子代理完成时 |
| SessionStart | 会话开始时 |
| SessionEnd | 会话结束时 |
技巧 23:创建实用 Hooks
代码格式化 Hook:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | { read file; [[ $file == *.ts ]] && npx prettier --write \"$file\"; }"
}
]
}
]
}
}
文件保护 Hook:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "python3 -c \"import json,sys; d=json.load(sys.stdin); p=d.get('tool_input',{}).get('file_path',''); sys.exit(2 if any(x in p for x in ['.env','package-lock.json','.git/']) else 0)\""
}
]
}
]
}
}
危险命令拦截 Hook:
阻止执行 rm -rf / 等危险命令。
通知 Hook:
任务完成时发送飞书/邮件通知。
第十部分:权限与安全
技巧 24:权限配置策略
通过 /permissions 或 settings.json 配置权限。
权限模式:
default– 标准权限检查acceptEdits– 自动接受文件编辑dontAsk– 自动拒绝权限提示bypassPermissions– 跳过所有权限检查plan– 计划模式(只读探索)
技巧 25:Sandbox 沙盒模式
沙盒模式限制 Bash 工具的执行权限,在隔离环境中安全运行。
claude --sandbox
技巧 26:YOLO 模式(Dangerous Mode)
claude --dangerously-skip-permissions
警告:此模式跳过所有权限检查,仅在以下场景使用:
- 隔离的容器环境
- 低风险的自动化任务
- 充分信任的操作
第十一部分:无头模式与自动化
技巧 27:Headless 无头模式
# 一次性查询
claude -p "解释这个项目是做什么的"
# 结构化输出
claude -p "列出所有 API 端点" --output-format json
# 流式输出
claude -p "分析这个日志文件" --output-format stream-json
技巧 28:CI/CD 集成
# 在 CI 中运行
claude -p "如果有新的文本字符串,翻译成法语并创建 PR" --dangerously-skip-permissions
# 管道处理
tail -f app.log | claude -p "发现异常时通知我"
第十二部分:MCP 与浏览器集成
技巧 29:配置 MCP 服务器
MCP(Model Context Protocol)让 Claude 能够访问外部服务。
/mcp
常用 MCP 服务:
- Playwright – 浏览器自动化
- Context7 – 获取最新文档
- GitHub – 仓库管理
- Figma – 设计稿获取
- Jira – 任务管理
技巧 30:浏览器集成
# 启用 Chrome 集成
/chrome
# 或启动时指定
claude --chrome
功能:
- 截图
- 填写表单
- 获取控制台错误
- 检查 DOM
- 自动化测试
最佳实践:
- Playwright MCP 更适合非视觉密集型任务
- Chrome 原生集成适合需要登录状态的场景
- 使用 accessibility tree refs 而非坐标点击
第十三部分:上下文优化
技巧 31:查看上下文使用情况
/context
输出示例:
系统提示词: 3.1k tokens
系统工具: 16.5k tokens
MCP 工具: 216 tokens
消息: 9.2k tokens
剩余空间: 112k tokens (61.2%)
技巧 32:启用工具搜索减少开销
在 settings.json 中添加:
{
"env": {
"ENABLE_TOOL_SEARCH": "true"
}
}
这样 MCP 工具会按需加载,而非全部预加载。
技巧 33:自定义状态栏
/statusline
可显示:
- 当前模型
- Git 分支
- 上下文使用百分比
- Token 消耗
- 5 小时额度状态
推荐工具:
- cc-usage – 第三方状态栏脚本
- web-usage – 使用量追踪器
第十四部分:Plugins(插件)
技巧 34:安装和管理插件
插件将 Skills、Hooks、Subagents、MCP 服务打包成一个可安装单元。
# 查看插件市场
/config -> Marketplace
# 添加自定义市场
/config -> Add Market -> [仓库 URL]
技巧 35:常用插件推荐
- frontend-design – 前端设计辅助
- Context7 – 最新文档获取
- Supabase – 数据库集成
- Code Simplifier – 代码简化
第十五部分:LSP 集成
技巧 36:Language Server Protocol
LSP 让 Claude Code 拥有 IDE 级别的代码智能:
- 智能诊断
- 代码导航
- 查找引用
- 重构支持
不同语言有不同的 LSP 实现,Claude Code 可以借助 LSP 更精准地理解和修改代码。
第十六部分:Agent SDK
技巧 37:通过 SDK 集成 Claude Code
import { query } from '@anthropic/claude-code';
const result = await query({
prompt: "为所有公共函数添加 Markdown 格式的 API 文档",
options: {
allowedTools: ["Read", "Write", "Glob"],
permissionMode: "acceptEdits"
}
});
这允许在自己的应用中以编程方式使用 Claude Code 的能力。
第十七部分:最佳实践总结
提供验证方式
让 Claude 能够验证自己的工作:
- 提供测试用例
- 要求截图对比
- 解决根本原因而非表象
先探索,再计划,再编码
- 探索:了解代码库
- 计划:制定方案
- 执行:实现代码
- 验证:确认结果
积极管理上下文
- 任务间使用
/clear清除 - 主动使用
/compact压缩 - 使用子代理隔离大量输出
- 避免"厨房水槽会话"
避免常见错误
| 问题 | 解决方案 |
|---|---|
| 厨房水槽会话 | 任务间使用 /clear |
| 反复纠正 | 两次失败后 /clear 并改进提示词 |
| CLAUDE.md 过长 | 精简保留必要内容 |
| 信任后不验证 | 始终提供验证方法 |
| 无限探索 | 缩小范围或使用子代理 |
附录:快捷键速查表
必备快捷键
| 快捷键 | 功能 |
|---|---|
Esc + Esc |
回退检查点 |
Ctrl+R |
搜索历史提示词 |
Ctrl+S |
暂存当前输入 |
Shift+Tab |
切换权限模式 |
Ctrl+B |
后台运行任务 |
Option+P / Alt+P |
切换模型 |
Ctrl+O |
切换详细模式 |
Ctrl+L |
清屏 |
常用命令
| 命令 | 功能 |
|---|---|
/init |
生成项目说明书 |
/context |
查看上下文使用 |
/usage |
查看额度使用 |
/compact |
压缩上下文 |
/plan |
进入计划模式 |
/clear |
清除对话 |
--continue |
恢复最近会话 |
--resume |
选择历史会话 |
-p "prompt" |
无头模式执行 |
Claude Code 不仅是一个编程工具,更是人机协同的新范式。我们与 AI 协同,而非向 AI 妥协。通过 Plan Mode、Subagent、Skill、Hook 等机制,我们可以定义与 AI 交互的资产,这些资产具有复利价值。
每次与 Claude 的对话中产生的新规范、需要强调的细节,都应该沉淀到 CLAUDE.md 中。同时,将最佳实践总结为 Skill,将重复操作封装为 Hook,让下一次执行更加高效。
Claude Code 正在从程序员专属工具演进为通用生产力工具,销售、营销等非技术人员也开始使用它。掌握这些技巧,将帮助你在 AI 时代获得 10 倍甚至 100 倍的生产力提升。