Claude Code 使用指南
📑 目录
- [引言:为什么选择 Claude Code](#引言:为什么选择 Claude Code)
- 快速入门
- 核心知识点1:三大权限模式
- [核心知识点2:会话管理 - /resume](#核心知识点2:会话管理 - /resume)
- [核心知识点3:会话命名 - /rename](#核心知识点3:会话命名 - /rename)
- [核心知识点4:清除会话 - /clear](#核心知识点4:清除会话 - /clear)
- [核心知识点5:版本回滚 - /rewind](#核心知识点5:版本回滚 - /rewind)
- [核心知识点6:上下文压缩 - /compact](#核心知识点6:上下文压缩 - /compact)
- [核心知识点7:项目初始化 - /init](#核心知识点7:项目初始化 - /init)
- [核心知识点8:记忆管理 - /memory](#核心知识点8:记忆管理 - /memory)
- [核心知识点9:Shell 命令 - ! 命令](#核心知识点9:Shell 命令 - ! 命令)
- 核心知识点10:截图辅助开发
- [核心知识点11:MCP Server 集成](#核心知识点11:MCP Server 集成)
- [核心知识点12:Hooks 自动化](#核心知识点12:Hooks 自动化)
- [核心知识点13:Agent Skills](#核心知识点13:Agent Skills)
- 核心知识点14:自定义子代理
- 核心知识点15:插件生态
- 最佳实践与注意事项
- [常见问题 FAQ](#常见问题 FAQ)
- 进阶学习资源
1. 引言:为什么选择 Claude Code
1.1 传统开发痛点
在软件开发过程中,开发者常常面临以下挑战:
- 重复性劳动:创建项目结构、编写样板代码、文件拆分等机械性工作
- 上下文切换:在编辑器、终端、浏览器之间频繁切换
- 知识断层:新框架、新语言的学习曲线陡峭
- 代码质量:缺乏自动化的代码审查和优化建议
1.2 Claude Code 的核心价值
Claude Code 是 Anthropic 推出的命令行 AI 编程助手,具备以下核心能力:
| 能力维度 | 具体表现 |
|---|---|
| 代码生成 | 从自然语言描述直接生成完整项目代码 |
| 智能编辑 | 自动读取、分析、修改现有代码文件 |
| 任务规划 | 将复杂需求拆解为可执行步骤 |
| 上下文理解 | 记忆项目规范、代码风格、历史对话 |
| 工具集成 | 支持 Shell 命令、MCP Server、截图等多模态输入 |
| 可扩展性 | 通过 Skills、Subagents、Hooks、Plugins 自定义工作流 |
1.3 适用场景
- ✅ 快速原型开发:从想法到可运行代码,几分钟内完成
- ✅ 学习新技术:通过对话式交互理解框架和语言特性
- ✅ 代码重构:自动化文件拆分、结构优化、风格统一
- ✅ 项目维护:代码审查、bug 修复、功能增强
- ✅ 团队协作:通过 CLAUDE.md 统一项目规范
2. 快速入门
2.1 安装与启动
前置条件:
- 已安装 Claude Code(详见官方安装教程)
- 已配置 Claude API 密钥
启动步骤:
bash
# 1. 创建项目目录
mkdir my-resume
cd my-resume
# 2. 启动 Claude Code
claude
# 3. (可选)指定模型
# 默认使用配置文件中的模型,也可通过参数指定
2.2 第一个项目:创建极简个人简历网站
示例对话:
👤 用户输入:
生成极简高级风个人简历网站代码(HTML+CSS+JS),响应式,
模块:基本信息/技能/项目/联系方式,配色以黑白灰为主。
🤖 Claude Code 响应:
我将为您创建一个极简风格的个人简历网站...
是否创建 "index.html" 文件?
> Yes
> Yes, allow all edits during this session (shift+tab)
> No
操作提示:
- 选择
Yes, allow all edits during this session可进入编辑模式 - 完成后,用浏览器打开
index.html即可查看效果
3. 核心知识点1:三大权限模式
3.1 模式概览
Claude Code 提供三种权限模式,用于控制文件编辑和命令执行的自动化程度。
| 模式 | 状态栏显示 | 行为特征 | 适用场景 |
|---|---|---|---|
| 默认模式 | ? for shortcuts |
每次文件编辑都需手动批准 | 学习阶段、不熟悉的项目 |
| 编辑模式 | accept edits on |
自动接受文件编辑,Shell 命令仍需批准 | 信任 AI 的日常开发 |
| 计划模式 | plan mode on |
先规划任务步骤,不直接修改文件 | 复杂任务、需人工审核 |
模式切换:
- 使用
Shift + Tab键循环切换 - 切换顺序:默认 → 编辑 → 计划 → 默认
3.2 默认权限模式详解
启动时的默认状态,每次文件操作都会弹出三个选项:
是否创建/编辑文件?
1. Yes # 仅批准本次操作
2. Yes, allow all edits during # 批准本次,并切换到编辑模式
this session (shift+tab)
3. No # 拒绝操作
选择建议:
- 选项1:适合不确定 AI 输出质量时的逐步验证
- 选项2:适合已熟悉 AI 能力,希望提高效率
- 选项3:用于拒绝不合理的操作建议
3.3 编辑模式(accept edits on)
核心特性:
- ✅ 自动接受所有文件编辑操作(创建、修改、删除)
- ⚠️ Shell 命令仍需手动批准 (如
git add、npm install)
进入方式:
- 在默认模式下选择
Yes, allow all edits during this session - 使用
Shift + Tab切换到编辑模式 - 启动时使用危险参数(不推荐):
bash
# ⚠️ 极度危险:跳过所有权限检查,包括 Shell 命令
claude --dangerously-skip-permissions
# 警告信息示例:
# 🔴 This flag bypasses ALL permission prompts system-wide.
# 🔴 Can lead to data loss, system damage, or data leaks.
# 🔴 Only use in isolated environments (containers/VMs without network access).
安全建议:
- ❌ 不要在生产环境使用
--dangerously-skip-permissions - ✅ 仅在隔离环境(Docker 容器、虚拟机)中使用
- ✅ 始终保持对 Shell 命令的人工审核
3.4 计划模式(plan mode on)
工作流程:
用户请求 → Claude 分析代码 → 生成任务步骤 → 用户确认 → 执行
示例对话:
👤 用户输入:
将这份个人简历网站代码拆分为3个独立文件
🤖 Claude Code 响应(计划模式):
我将执行以下步骤:
1. 创建 styles.css 文件,提取所有 CSS 代码
2. 创建 script.js 文件,提取所有 JavaScript 代码
3. 修改 index.html,引入外部样式和脚本文件
4. 删除 index.html 中的内联 CSS 和 JS
是否执行此计划?
> Yes, clear context and auto-accept edits (shift+tab)
> Yes, auto-accept edits
> Yes, manually approve edits
> [继续对话调整计划]
选项说明:
| 选项 | 行为 | 适用场景 |
|---|---|---|
clear context and auto-accept |
清除无关上下文 + 切换到编辑模式 | 任务独立、上下文过载 |
auto-accept edits |
保留上下文 + 切换到编辑模式 | 多步骤任务、需延续上下文 |
manually approve edits |
保留默认模式,逐步审批 | 不确定 AI 输出质量 |
| 继续对话 | 调整计划细节 | 计划不完善时 |
中断与调整:
- 按
Esc键:中断当前任务,重新规划 - 在输入框对话:微调计划细节,无需中断
4. 核心知识点2:会话管理 - /resume
4.1 问题场景
痛点:不小心关闭终端后,之前的对话历史丢失。
解决方案:Claude Code 自动保存所有会话记录。
4.2 使用方法
方法1:启动时自动加载
bash
# 使用 -c 参数启动,自动加载最近会话
claude -c
方法2:手动选择历史会话
bash
# 正常启动后,输入命令
/resume
# 显示会话列表:
# 会话列表(支持搜索):
# > 2025-02-21 14:30 - 个人简历网站项目
# 2025-02-20 10:15 - React 组件重构
# 2025-02-19 16:45 - API 接口开发
操作提示:
- 使用方向键选择会话
- 按
Enter加载选中会话 - 支持搜索框过滤会话
4.3 存储位置
会话文件存储在:
- 全局目录 :
~/.claude/sessions/ - 项目目录 :
.claude/sessions/(如果存在)
5. 核心知识点3:会话命名 - /rename
5.1 功能说明
Claude Code 默认使用时间戳命名会话(如 2025-02-21 14:30),不够语义化。
5.2 操作步骤
bash
# 在当前会话中输入
/rename 个人简历网站开发
# 执行后,会话名称更新为 "个人简历网站开发"
重要提示:
- ⚠️ 只能重命名当前会话
- ⚠️ 如需重命名历史会话:先
/resume加载 → 再/rename
5.3 验证结果
bash
# 再次查看会话列表
/resume
# 输出示例:
# > 个人简历网站开发 (刚才重命名的)
# React 组件重构
# API 接口开发
6. 核心知识点4:清除会话 - /clear
6.1 使用场景
- 当前会话上下文过于混乱
- 开始不相关的新任务
- 释放上下文空间
6.2 操作方法
bash
# 清除当前会话的所有对话记录
/clear
# 确认提示:
# 是否清除当前会话?这将删除所有对话历史。
# > Yes
# > No
6.3 官方建议
在处理不相关任务之间频繁使用
/clear来重置上下文。这样可以确保每个任务都有一个干净的上下文环境,避免不同任务之间的干扰。
示例场景:
任务1:开发个人简历网站(完成)
↓
执行 /clear 清除上下文
↓
任务2:重构 React 组件(新任务,不相关)
7. 核心知识点5:版本回滚 - /rewind
7.1 功能说明
允许将代码和对话回滚到之前的任意版本,类似 Git 的时间机器。
7.2 使用步骤
bash
# 1. 输入回滚命令
/rewind
# 2. 选择回滚点(显示历史对话节点)
# > 2025-02-21 15:30 - 添加手机号码字段
# 2025-02-21 15:20 - 拆分 CSS/JS 文件
# 2025-02-21 15:10 - 初始化项目
# 3. 选择回滚方式
是否回滚到选中版本?
> Restore code and conversation # 恢复代码和对话
> Restore conversation # 仅恢复对话记录
> Restore code # 仅恢复代码
> Never mind # 取消回滚
7.3 回滚范围
| 可回滚内容 | 说明 |
|---|---|
| ✅ Claude 生成的代码 | 包括创建、修改、删除的文件 |
| ✅ 对话记录 | AI 和用户的历史对话 |
| ❌ 手动修改的代码 | 你在编辑器中直接修改的内容 |
| ❌ Bash 命令执行结果 | 如 git commit、npm install 等 |
7.4 VSCode 插件差异
终端版 :使用 /rewind 命令
VSCode 插件 :鼠标悬停在历史对话上,点击返回图标 ↩️
8. 核心知识点6:上下文压缩 - /compact
8.1 背景知识
大模型的上下文窗口有限制(如 Claude 的 200K tokens),长时间对话可能导致:
- 超出上下文限制
- 响应速度变慢
- Token 成本增加
8.2 自动压缩机制
Claude Code 会在上下文占用达到 95% 时自动触发压缩。
状态栏显示:
Context: 185K/200K tokens (92.5%) ✅ # 安全范围
Context: 191K/200K tokens (95.5%) ⚠️ # 触发压缩
8.3 手动压缩
bash
# 基础用法:压缩非关键上下文
/compact
# 高级用法:指定保留内容
/compact 保留关于数据库迁移的讨论
压缩原理:
- 保留核心对话(用户明确请求的内容)
- 删除冗余信息(中间步骤、重复讨论)
- 保留项目规范(CLAUDE.md 中的内容)
9. 核心知识点7:项目初始化 - /init
9.1 CLAUDE.md 文件的作用
核心功能 :为 Claude 提供持续上下文,确保每次对话都遵循项目规范。
适用场景:
- 多次会话需要保持一致的代码风格
- 团队协作需要统一的开发规范
- 复杂项目需要明确的工作流程
9.2 使用 /init 生成初始配置
bash
# 在项目根目录执行
/init
# Claude Code 会分析项目结构,生成 CLAUDE.md
# 示例输出:
已创建 .claude/CLAUDE.md
包含以下内容:
- 项目技术栈识别
- 代码风格推断
- 文件组织结构
9.3 CLAUDE.md 示例
markdown
# 项目规范
## 1. 代码结构
- HTML、CSS、JS 分开存放
- CSS 文件放在 `styles/` 目录
- JS 文件放在 `scripts/` 目录
## 2. 代码风格
- 使用 2 个空格进行缩进
- 变量命名使用驼峰命名法(camelCase)
- CSS 类名使用短横线命名法(kebab-case)
## 3. 工作流
- 每次修改代码后,都要进行代码审查
- 提交前运行 Prettier 格式化
- 使用语义化的 Git 提交信息
## 4. 设计规范
- 使用极简高级风格
- 配色以黑白灰为主
- 响应式设计,支持移动端
9.4 两种 CLAUDE.md 文件
| 类型 | 位置 | 作用范围 | 优先级 |
|---|---|---|---|
| 全局配置 | ~/.claude/CLAUDE.md |
所有项目 | 低 |
| 项目配置 | <项目根>/CLAUDE.md |
当前项目 | 高 |
合并规则:
- 项目级配置会覆盖全局配置的同名项
- 未定义的部分会继承全局配置
10. 核心知识点8:记忆管理 - /memory
10.1 功能说明
快速编辑 CLAUDE.md 文件,无需离开 Claude Code 界面。
10.2 操作步骤
bash
# 1. 输入命令
/memory
# 2. 选择要编辑的文件
请选择要编辑的配置文件:
> 项目配置 (.claude/CLAUDE.md)
> 全局配置 (~/.claude/CLAUDE.md)
# 3. 在打开的编辑器中修改内容
# 4. 保存并关闭编辑器
10.3 示例:添加设计规范
假设你发现 AI 生成的代码风格不统一,可以:
markdown
# 在 CLAUDE.md 中添加
## 设计规范
1. 使用极简高级风格
2. 配色以黑白灰为主
3. 字体:标题使用 "Inter",正文使用 "Roboto"
4. 间距:统一使用 8px 的倍数(8px, 16px, 24px...)
保存后,AI 会在后续对话中自动遵循这些规范。
11. 核心知识点9:Shell 命令 - ! 命令
11.1 使用场景
直接在 Claude Code 中执行 Bash 命令,无需切换到终端。
常见用途:
- 初始化 Git 仓库
- 安装依赖包
- 查看文件列表
- 运行测试脚本
11.2 操作方法
bash
# 在 Claude Code 输入框中输入
!
# 进入 Shell 模式,直接输入命令
$ git init
$ git add .
$ git commit -m "Initial commit"
$ ls -la
11.3 示例:创建 Git 仓库
👤 用户输入:!
Shell> git init
Initialized empty Git repository in /path/to/my-resume/.git/
Shell> git add .
Shell> git commit -m "feat: 初始化个人简历网站"
[main (root-commit) abc1234] feat: 初始化个人简历网站
3 files changed, 150 insertions(+)
create mode 100644 index.html
create mode 100644 styles.css
create mode 100644 script.js
Shell> exit
# 按 Ctrl+D 或输入 exit 退出 Shell 模式
12. 核心知识点10:截图辅助开发
12.1 功能说明
Claude Code 支持多模态输入,可以上传截图让 AI 理解视觉内容。
适用场景:
- 前端开发:根据 UI 设计图生成代码
- Bug 修复:上传错误截图定位问题
- 样式调整:展示期望效果
12.2 使用方法
方法1:直接拖拽图片
将截图拖拽到 Claude Code 输入框 → 自动上传
方法2:提供图片路径
请查看 ./design-mockup.png,根据设计图生成代码
12.3 实战案例:修改链接颜色
👤 用户输入 + 截图:
请查看我发送的截图,目前联系方式一栏的 GitHub 链接是黑色的,
请帮我把它改成蓝色。
🤖 Claude Code 响应:
我看到截图中的 GitHub 链接颜色为黑色。
我将修改 styles.css 文件,将链接颜色改为蓝色...
[自动修改代码]
.contact a {
color: #0066cc; /* 修改为蓝色 */
text-decoration: none;
}
12.4 注意事项
| 平台 | 支持情况 | 注意事项 |
|---|---|---|
| ✅ 截图工具 | 系统截图、第三方工具 | 直接拖拽到输入框 |
| ⚠️ 微信截图 | 不支持直接粘贴 | 需先保存为文件再上传 |
| ✅ 图片 URL | 支持 | 直接发送链接即可 |
| ⚠️ 国产模型 | 能力较弱 | 优先使用 Claude 官方模型 |
13. 核心知识点11:MCP Server 集成
13.1 什么是 MCP Server
MCP(Model Context Protocol) 是一种标准协议,允许 Claude Code 访问外部服务的数据。
官方 MCP 示例:
- Figma MCP:读取 Figma 设计图
- GitHub MCP:访问仓库、Issue、PR
- Notion MCP:读取 Notion 文档
13.2 安装 Figma MCP
bash
# 使用 HTTP 传输协议安装
claude mcp add --transport http figma https://mcp.figma.com/mcp
# 输出:
✅ Figma MCP installed successfully
13.3 使用流程
bash
# 1. 重启 Claude Code
claude
# 2. 查看已安装的 MCP
/mcp
# 3. 授权访问 Figma(首次使用)
# 按照提示在浏览器中完成 OAuth 授权
# 4. 在对话中使用
请根据这个 Figma 设计图生成代码:
https://www.figma.com/file/xxx/yyy
13.4 实战效果
没有 MCP 时:
- 需要手动截图 → 上传 → AI 根据截图推测布局
- 还原度:60-70%
使用 Figma MCP 后:
- AI 直接读取设计图的精确数据(尺寸、颜色、字体)
- 还原度:90%+
14. 核心知识点12:Hooks 自动化
14.1 什么是 Hooks
Hooks 是一种事件驱动机制,在特定事件发生时自动执行预定义的操作。
类比理解:类似 Git Hooks,但应用于 AI 开发流程。
14.2 常见 Hooks 事件
| 事件类型 | 触发时机 | 常见用途 |
|---|---|---|
SessionStart |
会话开始时 | 初始化环境、加载配置 |
SessionEnd |
会话结束时 | 清理临时文件、生成报告 |
PreToolUse |
工具调用前 | 权限检查、日志记录 |
PostToolUse |
工具调用后 | 自动格式化、代码审查 |
Notification |
需要用户注意时 | 弹出系统通知 |
14.3 实战案例1:系统通知提醒
问题场景:
- 开启编辑模式后,AI 在后台工作
- 遇到 Shell 命令时卡住,等待用户批准
- 用户不知道 AI 需要输入
解决方案:设置 Notification Hook
方法1:交互式创建
bash
# 1. 输入命令
/hooks
# 2. 选择事件类型
请选择 Hook 事件:
> Notification
# 3. 添加 Matcher
> + Add new matcher...
# 4. 输入匹配规则(匹配所有事件)
Matcher: *
# 5. 添加 Hook 命令
> 1. + Add new hook...
# 6. 输入系统通知命令
不同操作系统的通知命令:
bash
# Windows
powershell.exe -Command "[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')"
# Linux
notify-send 'Claude Code' 'Claude Code needs your attention'
# macOS
osascript -e 'display notification "Claude Code needs your attention" with title "Claude Code"'
方法2:手动配置
在 ~/.claude/settings.json 中添加:
json
{
"hooks": {
"Notification": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
}
]
}
]
}
}
14.4 实战案例2:自动代码格式化
在每次文件编辑后,自动运行 Prettier 格式化代码。
json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
]
}
}
配置说明:
matcher: "Edit|Write":匹配文件编辑或创建操作command:管道命令,提取文件路径 → 运行 Prettier
14.5 Hook 配置文件位置
| 配置级别 | 文件路径 | 作用范围 | 是否版本控制 |
|---|---|---|---|
| 用户配置 | ~/.claude/settings.json |
所有项目 | ❌ |
| 项目配置 | .claude/settings.json |
当前项目 | ✅ |
| 本地配置 | .claude/settings.local.json |
当前项目(个人) | ❌ |
15. 核心知识点13:Agent Skills
15.1 什么是 Agent Skills
Agent Skills 是为 Claude 添加的特定技能包,让 AI 在特定场景下表现更专业。
核心特性:
- 无独立上下文(共享当前会话的上下文)
- 通过 Markdown 文件定义
- 可以被自动或手动触发
15.2 Skills vs Subagents 对比
| 维度 | Agent Skills | Subagents |
|---|---|---|
| 上下文 | 共享当前会话 | 独立上下文和记忆 |
| 适用场景 | 临时技能增强 | 专注特定领域的持续任务 |
| 触发方式 | 自动匹配或手动调用 | 手动调用 |
| 复杂度 | 简单(单个 .md 文件) | 中等(需配置工具和模型) |
15.3 创建 Skill:代码解释器
步骤1:创建 Skill 文件
bash
# 在用户级别创建
mkdir -p ~/.claude/skills
cd ~/.claude/skills
touch explain-code.skill.md
步骤2:编写 Skill 定义
markdown
---
name: explain-code
description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"
---
When explaining code, always include:
1. **Start with an analogy**: Compare the code to something from everyday life
2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships
3. **Walk through the code**: Explain step-by-step what happens
4. **Highlight a gotcha**: What's a common mistake or misconception?
Keep explanations conversational. For complex concepts, use multiple analogies.
步骤3:使用 Skill
bash
# 重启 Claude Code
claude
# 自动触发(AI 根据描述判断)
👤 用户输入:请解释这个项目是如何工作的?
# 手动触发
👤 用户输入:/skill explain-code 请解释 index.html 的结构
15.4 查看已安装的 Skills
bash
/skill
# 输出示例:
已安装的 Skills:
> explain-code - 通过类比和图示解释代码
> commit - 生成语义化的 Git 提交信息
15.5 实战效果示例
👤 用户输入:请解释这个项目是如何工作的?
🤖 Claude Code 响应(触发 explain-code Skill):
**类比理解**:
这个项目就像一本交互式简历书📖,HTML 是书的内容框架,
CSS 是封面和排版设计,JavaScript 是书中的互动元素(比如弹出式注释)。
**结构图示**:
┌─────────────────────────────────┐
│ index.html (主框架) │
├─────────────────────────────────┤
│ <link> → styles.css │ 样式表
│ <script> → script.js │ 交互逻辑
└─────────────────────────────────┘
**代码流程**:
1. 浏览器加载 HTML → 构建 DOM 树
2. 加载 CSS → 应用样式规则
3. 加载 JS → 绑定事件监听器
4. 用户交互 → JS 响应 → 更新 DOM
**常见误区**:
⚠️ 很多人以为 CSS 必须写在 HTML 内部,其实外部引入更利于维护。
⚠️ JavaScript 的 `DOMContentLoaded` 事件很重要,确保 DOM 加载完成后再操作。
16. 核心知识点14:自定义子代理
16.1 什么是子代理(Subagents)
子代理是具有独立上下文和记忆的专用 AI 智能体,适合处理特定领域的复杂任务。
与 Skills 的区别:
- Skills:在主会话中临时增强能力
- Subagents:开启独立会话,专注特定领域
16.2 创建子代理:代码质量审查员
步骤1:创建子代理文件
bash
mkdir -p ~/.claude/agents
cd ~/.claude/agents
touch code-quality-improver.md
步骤2:编写子代理配置
markdown
---
name: code-quality-improver
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---
You are a code quality improver. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.
Focus on:
1. **Code Smells**: Identify anti-patterns and suggest refactoring
2. **Security**: Check for common vulnerabilities (XSS, SQL injection, etc.)
3. **Performance**: Highlight inefficient code patterns
4. **Maintainability**: Assess readability and adherence to SOLID principles
Provide concrete examples and code snippets for each issue found.
配置字段说明:
| 字段 | 说明 | 示例值 |
|---|---|---|
name |
子代理名称(全局唯一) | code-quality-improver |
description |
功能描述 | Reviews code for quality... |
tools |
可用工具列表 | Read, Glob, Grep |
model |
使用的模型 | sonnet / opus / haiku |
可用工具:
Read:读取文件内容Write:写入文件Glob:按模式匹配文件Grep:搜索文件内容Edit:编辑文件Shell:执行 Shell 命令
16.3 使用子代理
bash
# 1. 重启 Claude Code
claude
# 2. 查看已安装的子代理
/agent
# 输出示例:
已安装的子代理:
> code-quality-improver - 代码质量审查员
# 3. 调用子代理
👤 用户输入:使用 subagent review 代码
🤖 Claude Code 响应:
我将调用 code-quality-improver 子代理进行代码审查...
[子代理工作中...]
📋 代码审查报告:
**1. 安全性问题**
- 文件:script.js,行25
问题:未对用户输入进行转义,存在 XSS 风险
建议:使用 `textContent` 代替 `innerHTML`
**2. 性能问题**
- 文件:index.html,行50
问题:内联 CSS 导致首屏渲染阻塞
建议:移至外部 styles.css 文件
**3. 可维护性**
- 文件:script.js
问题:魔法数字过多(如 `setTimeout(fn, 3000)`)
建议:定义常量 `const ANIMATION_DELAY = 3000`
16.4 结合 Hooks 自动审查
在 .claude/settings.json 中配置:
json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "agent",
"agent": "code-quality-improver"
}
]
}
]
}
}
效果:每次文件编辑后,自动触发代码质量审查。
17. 核心知识点15:插件生态
17.1 插件 vs 独立配置
| 维度 | 独立配置 | 插件 |
|---|---|---|
| 结构 | .claude/ 目录 |
.claude-plugin/plugin.json |
| 共享性 | 个人使用 | 可发布到社区 |
| 版本控制 | 可选(.gitignore 排除) |
强制(包含 version 字段) |
| 依赖管理 | 无 | 支持依赖声明 |
| 适用场景 | 快速试验、项目特定配置 | 跨项目复用、团队分发 |
17.2 插件目录结构
my-awesome-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件元数据
├── skills/
│ ├── skill1.skill.md
│ └── skill2.skill.md
├── agents/
│ └── agent1.md
├── hooks/
│ └── hooks.json
└── README.md # 插件文档
17.3 plugin.json 示例
json
{
"name": "frontend-toolbox",
"version": "1.0.0",
"description": "前端开发工具箱,包含 UI 生成、代码审查等功能",
"author": "Your Name",
"dependencies": {
"prettier": "^2.8.0",
"eslint": "^8.0.0"
},
"skills": [
"skills/ui-generator.skill.md",
"skills/accessibility-checker.skill.md"
],
"agents": [
"agents/css-optimizer.md"
],
"hooks": "hooks/hooks.json"
}
17.4 官方插件市场
访问方式:
bash
# 浏览官方插件市场
claude plugin search <关键词>
# 安装插件
claude plugin install <插件名>
# 查看已安装插件
claude plugin list
推荐插件:
- figma-integration:Figma 设计图转代码
- playwright-helper:自动化测试辅助
- github-workflows:GitHub Actions 配置生成
- accessibility-toolkit:无障碍检查工具
17.5 创建和发布插件
详细教程:https://code.claude.com/docs/en/plugins
基本流程:
- 创建插件目录结构
- 编写
plugin.json - 测试插件功能
- 发布到 GitHub 或官方市场
18. 最佳实践与注意事项
18.1 权限模式选择指南
| 场景 | 推荐模式 | 理由 |
|---|---|---|
| 学习新工具 | 默认模式 | 逐步验证 AI 输出,加深理解 |
| 日常开发 | 编辑模式 | 提高效率,Shell 命令仍需人工审核 |
| 复杂重构 | 计划模式 | 先审查计划,避免错误修改 |
| 自动化流程 | --dangerously-skip-permissions |
⚠️ 仅在隔离环境使用 |
18.2 上下文管理策略
问题场景:长时间对话导致上下文混乱
解决方案:
- 定期清除 :不相关任务之间使用
/clear - 主动压缩 :上下文接近 90% 时使用
/compact - 合理使用 CLAUDE.md:避免在对话中重复说明规范
示例流程:
任务1(完成)→ /clear → 任务2(进行中)→ 上下文 85% → /compact → 继续任务2
18.3 安全性建议
危险操作清单:
| 操作 | 风险等级 | 建议 |
|---|---|---|
--dangerously-skip-permissions |
🔴 极高 | 仅在无网络的容器/虚拟机使用 |
| 编辑模式 + Shell 权限 | 🟡 中等 | 始终审查 Shell 命令 |
| 上传敏感截图 | 🟡 中等 | 避免包含密码、API 密钥 |
| 全局 CLAUDE.md | 🟢 低 | 可安全使用,但注意隐私 |
加固建议:
- 使用
.gitignore排除敏感配置 - Shell 命令执行前,人工复查
- 定期检查
.claude/settings.local.json
18.4 团队协作最佳实践
版本控制策略:
gitignore
# .gitignore 示例
# ✅ 包含:团队共享配置
.claude/CLAUDE.md
.claude/settings.json
# ❌ 排除:个人配置
.claude/settings.local.json
.claude/sessions/
# ❌ 排除:API 密钥
.claude/credentials
团队规范建议:
- 在
CLAUDE.md中明确代码风格 - 使用 Hooks 统一格式化工具
- 创建团队共享的 Skills 和 Plugins
19. 常见问题 FAQ
Q1: 如何解决上下文超限问题?
现象:Claude Code 提示 "Context limit exceeded"
解决方案:
bash
# 方法1:压缩上下文
/compact
# 方法2:清除会话
/clear
# 方法3:回滚到较早版本
/rewind
Q2: VSCode 插件和终端版有什么区别?
| 功能 | 终端版 | VSCode 插件 |
|---|---|---|
/rewind 命令 |
✅ 支持 | ❌ 用图标代替 |
| Shell 集成 | ✅ 原生支持 | ⚠️ 需配置 |
| 截图上传 | ✅ 拖拽支持 | ✅ 粘贴支持 |
| 性能 | 🚀 更快 | 🐢 稍慢 |
建议:
- 大型项目:使用终端版
- 小型任务:VSCode 插件更方便
Q3: 如何让 Claude Code 记住我的偏好?
方法1:全局配置
bash
# 编辑全局 CLAUDE.md
/memory
# 添加个人偏好
## 我的偏好
- 代码风格:使用 Airbnb JavaScript Style Guide
- 注释语言:中文
- 测试框架:Jest
方法2:通过对话训练
👤 用户输入:
以后生成代码时,请始终:
1. 添加详细的中文注释
2. 使用 TypeScript 而非 JavaScript
3. 包含单元测试
🤖 Claude Code:
好的,我会记住这些偏好。您可以通过 /memory 命令将这些规则写入 CLAUDE.md,
确保每次会话都自动应用。
Q4: 国产大模型(如 MinMax)能用 Claude Code 吗?
答案:可以,但体验有差异
| 能力 | Claude 官方模型 | 国产模型 |
|---|---|---|
| 代码生成 | 🌟🌟🌟🌟🌟 | 🌟🌟🌟🌟 |
| 多模态(截图) | 🌟🌟🌟🌟🌟 | 🌟🌟 |
| 复杂推理 | 🌟🌟🌟🌟🌟 | 🌟🌟🌟 |
| 响应速度 | 🌟🌟🌟🌟 | 🌟🌟🌟🌟🌟 |
建议:
- 简单任务:国产模型足够
- 复杂项目:使用 Claude Sonnet 或 Opus
Q5: 如何处理 AI 生成的错误代码?
步骤1:使用 /rewind 回滚
bash
/rewind
# 选择最后一个正确的版本
步骤2:提供反馈
👤 用户输入:
刚才生成的代码有问题,具体表现为:
1. 点击按钮没有响应
2. 控制台报错:Uncaught TypeError...
请修复这些问题。
步骤3:启用计划模式
bash
# 按 Shift+Tab 切换到计划模式
# 让 AI 先规划修复步骤
20. 进阶学习资源
20.1 官方文档
- Claude Code 官方文档:https://code.claude.com/docs
- Hooks 完整指南:https://code.claude.com/docs/en/hooks-guide
- 插件开发教程:https://code.claude.com/docs/en/plugins
- MCP 协议规范:https://modelcontextprotocol.io
20.2 社区资源
- GitHub 讨论区:https://github.com/anthropics/claude-code/discussions
- Discord 频道:https://discord.gg/anthropic
- 中文社区:搜索"Claude Code 中文教程"
20.3 进阶主题
推荐学习路径:
- 掌握基础操作(本文档涵盖)
- 学习 Prompt Engineering(提示词工程)
- 深入 Agent Skills 原理
- 开发自定义插件
- 贡献开源插件到社区
20.4 相关技术
- AI Agent 工作流:了解 ReAct、Plan-and-Execute 等模式
- 提示词工程:学习 Few-shot、Chain-of-Thought 等技巧
- MCP 生态:探索更多 MCP Server(如 Slack、Linear、Airtable)
附录:快捷指令速查表
| 命令 | 功能 | 示例 |
|---|---|---|
claude |
启动 Claude Code | claude |
claude -c |
启动并加载最近会话 | claude -c |
/resume |
选择历史会话 | /resume |
/rename <名称> |
重命名当前会话 | /rename 个人简历项目 |
/clear |
清除当前会话 | /clear |
/rewind |
回滚到历史版本 | /rewind |
/compact |
压缩上下文 | /compact 保留数据库相关讨论 |
/init |
生成 CLAUDE.md | /init |
/memory |
编辑配置文件 | /memory |
! |
进入 Shell 模式 | ! |
/mcp |
查看 MCP Server | /mcp |
/hooks |
配置 Hooks | /hooks |
/skill |
查看/使用 Skills | /skill explain-code |
/agent |
查看/使用子代理 | /agent |
Shift+Tab |
切换权限模式 | - |
Esc |
中断当前任务 | - |