这可能是你能找到的最全面的Claude Code中文教程,涵盖安装配置、核心命令、记忆系统、MCP扩展、Hooks钩子等所有进阶技巧!

引言:为什么Claude Code值得你花时间学习?

2025年,AI编程工具百花齐放,但Claude Code依然是最受专业开发者青睐的选择之一。

为什么?

  • 🧠 代码理解能力业界第一:几秒钟映射整个代码库结构
  • 📝 多文件智能编辑:跨文件修改和重构一气呵成
  • 🔗 深度Git集成:自动解决合并冲突、生成commit、创建PR
  • 💾 记忆系统:跨会话保持上下文,项目越用越懂你
  • 🔌 MCP扩展:连接外部服务,能力无限扩展

但说实话,Claude Code的学习曲线并不平坦。很多人用了几个月,还停留在"问问题-看答案"的初级阶段。

这篇教程,就是要帮你解锁Claude Code的全部潜力。

读完这篇,你将掌握:

  • ✅ 完整的安装配置流程
  • ✅ 所有内置命令和斜杠命令
  • ✅ CLAUDE.md记忆系统的高级用法
  • ✅ MCP服务器配置和推荐
  • ✅ Hooks钩子实现自动化工作流
  • ✅ 自定义命令打造专属效率工具
  • ✅ 10+个实战技巧和最佳实践

准备好了吗?让我们开始!


第一章:安装与配置

1.1 系统要求

在安装之前,确保你的系统满足以下要求:

系统 要求
Windows Windows 10 (版本1809 / build 17763) 及以上,需安装WSL2
macOS macOS 10.15 (Catalina) 及以上
Linux 主流发行版均支持
Node.js 20.0.0 及以上版本

1.2 安装步骤

方式一:NPM全局安装(推荐)
# 安装Claude Code
npm install -g @anthropic-ai/claude-code

# 验证安装
claude --version
方式二:直接运行(无需安装)
npx @anthropic-ai/claude-code
Windows用户特别说明

Windows用户需要先安装WSL2:

# 以管理员身份运行PowerShell
wsl --install

# 重启后,在WSL中安装Node.js和Claude Code
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g @anthropic-ai/claude-code

1.3 首次认证

安装完成后,首次运行需要认证:

claude

系统会自动打开浏览器,引导你完成Anthropic账号登录。

认证方式选择:

方式 适用场景 说明
OAuth登录 个人用户 最简单,直接用Anthropic账号
API Key 企业用户/高级用户 更灵活,支持自定义配额
使用API Key认证
# 设置API Key
export ANTHROPIC_API_KEY="your-api-key-here"

# 或者通过配置命令
claude config set apiKey your-api-key-here

1.4 配置文件位置

Claude Code的配置文件分布在以下位置:

文件 路径 作用
全局配置 ~/.claude.json 用户级别设置
全局记忆 ~/.claude/CLAUDE.md 所有项目通用的记忆
项目配置 .claude/settings.json 项目级别设置
项目记忆 CLAUDE.md 项目根目录的记忆文件

在这里插入图片描述
点这里->快速获取api额度

第二章:基础命令速查

2.1 CLI启动参数

# 基础启动
claude

# 指定工作目录
claude --cwd /path/to/project

# 带初始提示启动
claude "帮我分析这个项目的结构"

# 调试模式
claude --debug

# 查看版本
claude --version

# 更新到最新版
claude update

2.2 会话内基础操作

快捷键/命令 功能
Enter 发送消息(单行)
Shift+Enter 换行(多行输入)
Ctrl+C 中断当前操作
Ctrl+D 退出Claude Code
/ 浏览历史命令
Tab 自动补全

2.3 核心斜杠命令完整列表

Claude Code提供了丰富的斜杠命令,以下是完整列表:

📁 文件与目录操作
命令 功能 示例
/add-dir 添加额外工作目录 /add-dir ./libs
/file 将文件添加到上下文 /file src/main.ts
💾 记忆管理
命令 功能 示例
/memory 打开记忆文件编辑 /memory
/forget 清除当前会话记忆 /forget
⚙️ 配置与设置
命令 功能 示例
/config 交互式配置设置 /config
/allowed-tools 配置工具权限 /allowed-tools
/model 切换使用的模型 /model claude-4
/permissions 查看/修改权限 /permissions
🔄 会话控制
命令 功能 示例
/clear 清除会话历史 /clear
/compact 压缩对话上下文 /compact
/resume 恢复之前的会话 /resume
/status 显示当前状态 /status
🛠️ 开发工具
命令 功能 示例
/review 代码审查 /review src/
/init 初始化项目配置 /init
/terminal-setup 配置终端集成 /terminal-setup
/vim 切换Vim模式 /vim
🤖 Agent与任务
命令 功能 示例
/agents 管理自定义子代理 /agents
/bashes 列出后台任务 /bashes
🔌 扩展功能
命令 功能 示例
/mcp MCP服务器管理 /mcp
/hooks 管理钩子脚本 /hooks
/plugin 插件管理 /plugin install xxx
📊 调试与反馈
命令 功能 示例
/bug 报告Bug /bug
/cost 查看Token消耗 /cost
/doctor 诊断环境问题 /doctor
/help 显示帮助信息 /help

第三章:CLAUDE.md记忆系统详解

CLAUDE.md是Claude Code最强大的功能之一,它让AI能够"记住"你的项目规范、编码习惯和偏好设置。

3.1 记忆文件层级

Claude Code的记忆系统采用三层架构:

优先级从高到低:
1. 项目记忆:./CLAUDE.md(当前项目目录)
2. 子目录记忆:./子目录/CLAUDE.md
3. 全局记忆:~/.claude/CLAUDE.md(所有项目通用)

加载规则

  • Claude Code会自动向上查找并合并所有层级的CLAUDE.md
  • 子目录的配置会覆盖父目录的同名配置
  • 全局配置作为默认值,项目配置优先

3.2 CLAUDE.md模板示例

全局记忆模板(~/.claude/CLAUDE.md)
# 全局开发偏好

## 语言设置
- 默认使用中文回答
- 代码注释使用英文

## 编码风格
- 使用2空格缩进
- 优先使用TypeScript
- 遵循函数式编程范式

## 交互偏好
- 修改代码前先解释思路
- 每次只修改必要的部分
- 提供修改前后的对比
项目记忆模板(./CLAUDE.md)
# 项目:电商后台管理系统

## 项目概述
这是一个基于React + TypeScript的电商后台,使用Ant Design作为UI框架。

## 技术栈
- 前端:React 18 + TypeScript + Vite
- UI库:Ant Design 5.x
- 状态管理:Zustand
- 路由:React Router 6
- 请求:Axios + React Query

## 目录结构

src/
├── components/ # 公共组件
├── pages/ # 页面组件
├── hooks/ # 自定义Hook
├── services/ # API服务
├── stores/ # 状态管理
└── utils/ # 工具函数

## 编码规范
- 组件使用函数式组件 + Hooks
- 使用绝对路径导入:@/components/xxx
- 接口类型定义在 types/ 目录
- API请求封装在 services/ 目录

## 常用命令
- `npm run dev` - 启动开发服务器
- `npm run build` - 构建生产版本
- `npm run test` - 运行测试

## 注意事项
- 不要修改 config/ 目录下的配置文件
- 新增页面需要在 router.ts 中注册
- 提交代码前运行 npm run lint

3.3 记忆文件最佳实践

技巧1:使用强调词提高遵循度
## IMPORTANT: 必须遵守的规则
- YOU MUST 在修改代码前创建备份
- NEVER 直接修改 node_modules
- ALWAYS 使用TypeScript而非JavaScript
技巧2:提供代码示例
## 组件编写规范

### 正确示例 ✅
​```tsx
import { FC } from 'react';

interface Props {
  title: string;
  onClick?: () => void;
}

export const Button: FC<Props> = ({ title, onClick }) => {
  return <button onClick={onClick}>{title}</button>;
};

错误示例 ❌

// 不要使用class组件
class Button extends React.Component { ... }
#### 技巧3:分模块组织

对于大型项目,可以在子目录创建专属记忆:

project/
├── CLAUDE.md # 项目总体规范
├── src/
│ ├── components/
│ │ └── CLAUDE.md # 组件开发规范
│ ├── services/
│ │ └── CLAUDE.md # API服务规范
│ └── stores/
│ └── CLAUDE.md # 状态管理规范

### 3.4 使用/memory命令管理记忆

​```bash
# 打开记忆编辑器
/memory

# 系统会显示可编辑的记忆文件列表:
# 1. User Memory(用户记忆)
# 2. Project Memory(项目记忆)
# 选择后会打开默认编辑器

第四章:MCP服务器配置指南

MCP(Model Context Protocol)是Claude Code的"能力扩展系统",让它能够连接外部服务、数据库和API。

4.1 MCP基础概念

把MCP想象成Claude的"数字假肢":

  • 没有MCP:Claude只能处理文本对话
  • 有了MCP:Claude可以访问文件系统、浏览网页、执行Shell命令、查询数据库…

4.2 查看和管理MCP

# 查看已安装的MCP服务器
/mcp

# 添加MCP服务器
claude mcp add <server-name> -- <command>

# 移除MCP服务器
claude mcp remove <server-name>

# 列出所有MCP
claude mcp list

4.3 推荐MCP服务器列表

🌐 网络与搜索类
MCP 功能 安装命令
web-search 网络搜索 claude mcp add web-search -- npx @anthropic/mcp-server-web-search
fetch 网页抓取 claude mcp add fetch -- npx @anthropic/mcp-server-fetch
browser 浏览器控制 claude mcp add browser -- npx @anthropic/mcp-server-puppeteer
📂 文件与系统类
MCP 功能 安装命令
filesystem 文件系统访问 claude mcp add fs -- npx @anthropic/mcp-server-filesystem /path
shell Shell命令执行 claude mcp add shell -- npx @anthropic/mcp-server-shell
🗄️ 数据库类
MCP 功能 安装命令
postgres PostgreSQL claude mcp add pg -- npx @anthropic/mcp-server-postgres
sqlite SQLite claude mcp add sqlite -- npx @anthropic/mcp-server-sqlite
mysql MySQL claude mcp add mysql -- npx @anthropic/mcp-server-mysql
🛠️ 开发工具类
MCP 功能 安装命令
github GitHub API claude mcp add github -- npx @anthropic/mcp-server-github
git Git操作 claude mcp add git -- npx @anthropic/mcp-server-git
docker Docker管理 claude mcp add docker -- npx @anthropic/mcp-server-docker

4.4 MCP配置文件

MCP配置存储在 ~/.claude/settings.json

{
  "mcpServers": {
    "web-search": {
      "command": "npx",
      "args": ["@anthropic/mcp-server-web-search"],
      "env": {
        "API_KEY": "your-api-key"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["@anthropic/mcp-server-filesystem", "/home/user/projects"]
    }
  }
}

4.5 MCP安全注意事项

⚠️ 重要安全提醒

  1. 只安装可信的MCP服务器:MCP可以执行系统命令,恶意MCP可能危害系统
  2. 限制文件系统访问范围:不要给予全盘访问权限
  3. 定期审查已安装的MCP:移除不再使用的服务器
  4. 敏感操作需要确认:配置 requireConfirmation: true

第五章:Hooks钩子系统

Hooks是Claude Code的"自动化守门员",在关键操作节点执行自定义脚本。

5.1 Hooks生命周期

用户输入 → [UserPromptSubmit] → Claude处理 → [PreToolExecution] →
执行工具 → [PostToolExecution] → Claude响应 → [Stop] → 等待下一轮
                                                    ↓
                                              [Notification]
Hook类型 触发时机 典型用途
UserPromptSubmit 用户发送消息前 输入验证、敏感词过滤
PreToolExecution 工具执行前 安全检查、参数验证
PostToolExecution 工具执行后 结果审计、日志记录
Notification Claude发送通知时 自定义通知方式
Stop Claude完成响应后 自动化后续操作

5.2 配置Hooks

Hooks配置在 .claude/settings.json 中:

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "command": "python /path/to/validate_input.py",
        "timeout": 5000
      }
    ],
    "PreToolExecution": [
      {
        "command": "bash /path/to/security_check.sh",
        "timeout": 10000,
        "tools": ["bash", "write_file"]
      }
    ],
    "Stop": [
      {
        "command": "bash /path/to/post_process.sh",
        "timeout": 5000
      }
    ]
  }
}

5.3 Hook脚本示例

示例1:代码质量检查Hook
#!/bin/bash
# pre_commit_check.sh - 在代码修改后自动运行lint

# 读取Claude Code传来的JSON输入
input=$(cat)
tool_name=$(echo "$input" | jq -r '.toolName')

# 只在写文件后执行
if [ "$tool_name" = "write_file" ]; then
    file_path=$(echo "$input" | jq -r '.toolInput.path')

    # 对JS/TS文件运行ESLint
    if [[ "$file_path" == *.js ]] || [[ "$file_path" == *.ts ]]; then
        npx eslint "$file_path" --fix
        if [ $? -ne 0 ]; then
            echo '{"decision": "block", "reason": "ESLint检查失败,请修复后重试"}'
            exit 0
        fi
    fi
fi

# 允许继续
echo '{"decision": "allow"}'
示例2:敏感操作确认Hook
#!/usr/bin/env python3
# security_check.py - 危险命令拦截

import sys
import json

# 危险命令列表
DANGEROUS_COMMANDS = [
    'rm -rf',
    'DROP TABLE',
    'DELETE FROM',
    'format',
    'mkfs'
]

def main():
    input_data = json.load(sys.stdin)
    tool_name = input_data.get('toolName', '')
    tool_input = input_data.get('toolInput', {})

    if tool_name == 'bash':
        command = tool_input.get('command', '')
        for dangerous in DANGEROUS_COMMANDS:
            if dangerous.lower() in command.lower():
                result = {
                    'decision': 'block',
                    'reason': f'检测到危险命令: {dangerous},已阻止执行'
                }
                print(json.dumps(result))
                return

    print(json.dumps({'decision': 'allow'}))

if __name__ == '__main__':
    main()
示例3:自动Git提交Hook
#!/bin/bash
# auto_commit.sh - 会话结束时自动提交

input=$(cat)
tool_name=$(echo "$input" | jq -r '.toolName // empty')

# 检查是否有文件被修改
if git diff --quiet && git diff --staged --quiet; then
    echo '{"decision": "allow"}'
    exit 0
fi

# 自动暂存和提交
git add -A
git commit -m "auto: Claude Code session changes $(date +%Y%m%d_%H%M%S)"

echo '{"decision": "allow"}'

5.4 Hook最佳实践

  1. 设置合理的超时时间:避免Hook阻塞Claude Code
  2. 使用JSON格式通信:确保Claude Code能正确解析返回
  3. 记录日志:方便调试和审计
  4. 优雅降级:Hook失败时不应阻断正常工作流

在这里插入图片描述
点这里->快速获取api额度

第六章:自定义命令

自定义命令让你把常用的Prompt模板变成一键执行的斜杠命令。

6.1 创建自定义命令

自定义命令以Markdown文件形式存储:

.claude/
└── commands/
    ├── review.md      # /project:review 命令
    ├── refactor.md    # /project:refactor 命令
    └── test.md        # /project:test 命令

6.2 命令文件格式

---
description: 代码审查命令
arguments:
  - name: path
    description: 要审查的文件或目录路径
    required: true
---

请对以下代码进行全面审查:

路径:$ARGUMENTS

审查要点:
1. 代码质量和可读性
2. 潜在的Bug和安全问题
3. 性能优化建议
4. 最佳实践遵循情况

请按以下格式输出审查结果:

## 📊 总体评分:X/10

## ✅ 优点
- ...

## ⚠️ 问题
- ...

## 💡 建议
- ...

6.3 实用自定义命令示例

命令1:快速创建组件(/project:component)
---
description: 创建React组件
arguments:
  - name: name
    description: 组件名称
    required: true
  - name: type
    description: 组件类型(page/component/hook)
    required: false
    default: component
---

请在 src/$ARGUMENTS.type/s 目录下创建名为 $ARGUMENTS.name 的React组件。

要求:
1. 使用TypeScript和函数式组件
2. 包含Props接口定义
3. 添加必要的注释
4. 创建对应的测试文件
5. 创建index.ts导出文件

组件结构:

$ARGUMENTS.name/
├── index.ts
├── $ARGUMENTS.name.tsx
├── $ARGUMENTS.name.test.tsx
└── $ARGUMENTS.name.module.css


命令2:Git工作流(/project:commit)
---
description: 智能Git提交
---

请执行以下Git工作流:

1. 运行 `git status` 查看变更
2. 运行 `git diff` 分析具体修改
3. 根据变更内容生成符合Conventional Commits规范的提交信息
4. 执行 `git add .` 和 `git commit`

提交信息格式:
- feat: 新功能
- fix: Bug修复
- docs: 文档更新
- style: 代码格式
- refactor: 重构
- test: 测试
- chore: 构建/工具

请在执行前显示将要提交的信息,等待我确认。
命令3:API文档生成(/project:api-doc)
---
description: 生成API文档
arguments:
  - name: path
    description: API文件路径
    required: true
---

请分析 $ARGUMENTS 中的API定义,生成Markdown格式的API文档。

文档应包含:
1. API概述
2. 请求方法和URL
3. 请求参数(Query/Body)
4. 请求头
5. 响应格式
6. 错误码说明
7. 调用示例(curl和JavaScript)

输出格式参考OpenAPI规范。

6.4 使用自定义命令

# 调用自定义命令
/project:review src/components/

# 带参数调用
/project:component Button --type component

# 查看可用命令
/help

第七章:高级技巧与最佳实践

7.1 提示词优化技巧

技巧1:结构化提示
## 任务描述
[清晰描述你要完成的任务]

## 上下文信息
- 相关文件:xxx
- 技术栈:xxx
- 约束条件:xxx

## 期望输出
[明确说明你期望的输出格式]

## 注意事项
- 不要修改 xxx
- 确保 xxx
技巧2:分步骤执行

对于复杂任务,拆分成多个步骤:

请按以下步骤实现用户认证功能:

Step 1:先分析现有的用户模型结构
Step 2:设计认证流程和数据结构
Step 3:实现登录接口
Step 4:实现注册接口
Step 5:添加JWT token处理
Step 6:编写单元测试

每完成一步,等待我确认后再继续下一步。
技巧3:引用现有代码
请参考 @src/services/userService.ts 的实现风格,
创建一个新的 orderService.ts。

保持以下一致性:
- 错误处理方式
- 日志记录格式
- 返回值结构

7.2 Token优化策略

Claude Code按Token计费,以下技巧帮你节省成本:

策略1:使用/compact压缩上下文
# 当对话过长时,压缩上下文
/compact
策略2:精确指定文件范围
# 不好的做法:让Claude扫描整个项目
"帮我修复项目中的Bug"

# 好的做法:指定具体文件
"帮我修复 src/services/api.ts 第45行的Bug"
策略3:善用.claudeignore

创建 .claudeignore 排除不需要的文件:

# .claudeignore
node_modules/
dist/
build/
*.log
*.lock
.git/
coverage/

7.3 多Agent协作

Claude Code支持创建子Agent处理专门任务:

# 管理Agent
/agents

# 在CLAUDE.md中定义Agent
## 自定义Agents

### code-reviewer
专门负责代码审查,关注:
- 代码质量
- 安全漏洞
- 性能问题

### test-writer
专门编写测试用例,遵循:
- 测试覆盖率 > 80%
- 边界条件测试
- 异常情况测试

7.4 与IDE集成

VS Code集成
  1. 安装Claude Code VS Code扩展
  2. 配置 settings.json
{
  "claudeCode.enable": true,
  "claudeCode.autoSuggest": true,
  "claudeCode.inlineCompletion": true
}
JetBrains集成
  1. 安装Claude Code插件
  2. 在Settings → Tools → Claude Code中配置

7.5 调试技巧

# 开启调试模式,查看详细日志
claude --debug

# 查看Token消耗
/cost

# 诊断环境问题
/doctor

# 查看当前状态
/status

第八章:常见问题解决

Q1:安装失败,提示权限错误

# Mac/Linux:使用sudo或修复npm权限
sudo npm install -g @anthropic-ai/claude-code

# 或者修复npm权限(推荐)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Q2:API Key无效或认证失败

# 检查API Key是否正确设置
echo $ANTHROPIC_API_KEY

# 重新配置
claude config set apiKey your-new-key

# 或删除配置重新认证
rm ~/.claude.json
claude

Q3:响应速度慢

  1. 检查网络连接
  2. 减少上下文大小:/compact
  3. 使用更快的模型:/model claude-3.5-sonnet
  4. 排除大文件:配置 .claudeignore

Q4:MCP服务器无法连接

# 检查MCP服务器状态
claude mcp list

# 查看详细错误
claude --debug

# 重新添加MCP
claude mcp remove <name>
claude mcp add <name> -- <command>

Q5:中文显示乱码

# 设置终端编码
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# 或在CLAUDE.md中指定
默认使用中文回答,确保输出UTF-8编码。

第九章:实战案例

案例1:从零搭建React项目

我:请帮我创建一个React + TypeScript + Vite项目,包含以下功能:
1. 路由配置(React Router)
2. 状态管理(Zustand)
3. UI框架(Ant Design)
4. 请求封装(Axios)
5. 基础目录结构

Claude:我来一步步帮你创建...

[Claude会自动执行npm命令、创建文件、配置项目]

案例2:重构遗留代码

我:请重构 src/utils/legacy.js,这是一个500行的老代码文件。
要求:
1. 转换为TypeScript
2. 拆分成多个模块
3. 添加类型定义
4. 保持功能不变
5. 添加单元测试

Claude:让我先分析这个文件的结构...

[Claude会分析代码、制定重构计划、逐步执行]

案例3:自动化代码审查

我:/project:review src/

Claude:正在审查 src/ 目录下的所有文件...

## 📊 审查报告

### 文件:src/services/api.ts
- ⚠️ 第45行:缺少错误处理
- ⚠️ 第78行:硬编码的超时时间
- 💡 建议:使用环境变量配置API地址

### 文件:src/components/UserList.tsx
- ✅ 代码结构清晰
- ⚠️ 第23行:缺少loading状态
- 💡 建议:添加空数据状态处理

...

结语:成为Claude Code高手

恭喜你读完了这篇超长教程!

让我们回顾一下你学到的核心技能:

章节 核心技能
第一章 安装配置、认证方式
第二章 CLI参数、斜杠命令
第三章 CLAUDE.md记忆系统
第四章 MCP服务器扩展
第五章 Hooks自动化钩子
第六章 自定义命令模板
第七章 高级技巧与优化
第八章 问题排查
第九章 实战案例

Claude Code的精髓在于:让AI真正理解你的项目,成为你的编程搭档。

记住这个公式:

优秀的CLAUDE.md + 合适的MCP + 自动化Hooks = 10倍编程效率

现在,打开你的终端,输入 claude,开始你的AI编程之旅吧!


附录:快速参考卡片

常用命令速查

# 启动
claude                    # 普通启动
claude --debug            # 调试模式
claude "你的问题"         # 带问题启动

# 会话管理
/clear                    # 清除历史
/compact                  # 压缩上下文
/resume                   # 恢复会话
/cost                     # 查看消耗

# 配置管理
/config                   # 交互配置
/memory                   # 编辑记忆
/model                    # 切换模型

# MCP管理
/mcp                      # 管理MCP
claude mcp add            # 添加MCP
claude mcp list           # 列出MCP
claude mcp remove         # 移除MCP

# 工具权限
/allowed-tools            # 配置权限
/permissions              # 查看权限

文件位置速查

文件 路径
全局配置 ~/.claude.json
全局记忆 ~/.claude/CLAUDE.md
项目记忆 ./CLAUDE.md
项目配置 ./.claude/settings.json
自定义命令 ./.claude/commands/*.md
忽略文件 ./.claudeignore

在这里插入图片描述
点这里->快速获取api额度

如果这篇教程对你有帮助,欢迎点赞、收藏、转发!

有问题或建议?欢迎在评论区交流!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐