Claude Code 使用手册
Claude Code 全面使用手册
你的 AI 编程伙伴 — 从代码编写到项目管理的全流程辅助工具
目录
一、Claude Code 是什么
Claude Code 是 Anthropic 推出的官方 CLI(命令行界面)工具,它将强大的 Claude AI 能力直接带入你的终端,帮助开发者完成各类编程任务。
核心理念
- 自然语言编程:用日常语言描述需求,AI 帮你写代码
- 深度集成:与文件系统、Git、开发工具紧密配合
- 自动化能力:通过 Skills 和 Hooks 实现工作流自动化
适用人群
| 人群 | 使用场景 |
|---|---|
| 前端/后端开发者 | 代码编写、调试、重构 |
| 技术团队 | 代码审查、团队知识管理 |
| 初学者 | 学习编程、获取指导 |
| 全栈工程师 | 多语言项目开发 |
二、核心功能概览
┌─────────────────────────────────────────────────────────────┐
│ Claude Code 核心能力 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 代码编辑 │ │ 项目分析 │ │ 问题诊断 │ │
│ │ 读取/编写 │ │ 架构理解 │ │ 调试排错 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Git 集成 │ │ 文件操作 │ │ 终端命令 │ │
│ │ 提交/分支 │ │ 搜索/批量 │ │ 执行脚本 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Skills │ │ Hooks │ │ MCP │ │
│ │ 自定义技能 │ │ 自动化钩子 │ │ 扩展集成 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
三、基础使用方式
3.1 启动方式
# 方式一:交互式对话(最常用)
claude
# 方式二:单次命令执行
claude "帮我写一个快速排序算法"
# 方式三:指定模型
claude --model claude-3-5-sonnet-20241022
# 方式四:启用调试模式
claude --debug
# 查看帮助
claude --help
3.2 交互模式基本操作
| 操作 | 快捷键/命令 | 说明 |
|---|---|---|
| 退出程序 | Ctrl + D 或 /exit |
结束当前会话 |
| 中断操作 | Ctrl + C |
取消正在执行的任务 |
| 清屏 | Ctrl + L |
清除屏幕内容 |
| 历史导航 | ↑ / ↓ |
切换历史命令 |
| 自动补全 | Tab |
命令行补全 |
3.3 Slash 命令
Claude Code 内置了大量 Slash 命令(以 / 开头的快捷指令):
# 常用内置命令
/help # 显示帮助信息
/exit # 退出程序
/clear # 清除对话历史
# 项目级命令(需在项目目录下)
/read <文件路径> # 读取特定文件
/review # 代码审查
/debug # 启用调试模式
/update-config # 修改配置
/simplify # 代码优化审查
/batch # 批量处理任务
/loop # 循环执行任务
/claude-api # Claude API 开发
/init # 初始化 CLAUDE.md
/pr-comments # 获取 PR 评论
/security-review # 安全审查
/insights # 会话分析
四、核心功能详解
4.1 代码编辑能力
Claude Code 拥有强大的文件操作能力,可以直接读取、编辑、创建代码文件。
可用工具
| 工具 | 功能 | 示例 |
|---|---|---|
| Read | 读取文件内容 | 读取源代码、配置文件 |
| Edit | 精确修改代码 | 修改变量名、添加功能 |
| Write | 创建/覆盖文件 | 生成新文件、重写内容 |
| Glob | 按模式搜索文件 | 查找所有 .tsx 文件 |
| Grep | 全文搜索 | 搜索函数定义、关键词 |
| Bash | 执行终端命令 | 运行构建、测试命令 |
使用示例
# 搜索特定函数
"在 src 目录下查找所有使用到 userAuth 的地方"
# 批量重命名
"将 src/components 目录下所有 .js 文件重命名为 .tsx"
# 代码替换
"把项目中所有的 console.log 替换成使用 logger"
4.2 Git 集成
Claude Code 原生支持 Git 操作,简化版本控制工作流。
主要功能
Git 操作流程:
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 查看状态 │ -> │ 阶段文件 │ -> │ 提交代码 │
│ git status │ │ git add │ │ git commit │
└──────────────┘ └──────────────┘ └──────────────┘
│
┌──────────────┐ │
│ 推送代码 │ <- (可选) │
│ git push │ │
└──────────────┘ │
▼
┌──────────────┐
│ 创建 PR │
│ (GitHub CLI) │
└──────────────┘
使用示例
# 提交代码的完整流程
1. 输入 "帮我提交当前的更改"
2. Claude 会自动:
- 分析未暂存的更改
- 询问提交信息
- 执行提交
# 代码审查
"审查这个分支与 main 的差异"
4.3 MCP 服务器(Model Context Protocol)
MCP 是一个开放协议,允许 Claude Code 连接外部服务和工具。
MCP 架构
┌─────────────┐ ┌─────────────┐
│ Claude Code │ <-----> │ MCP Server │
└─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ 外部服务 │
│ - 数据库 │
│ - API │
│ - 云服务 │
└─────────────┘
常用 MCP 服务器
| 服务器 | 用途 | 配置示例 |
|---|---|---|
| PostgreSQL | 数据库查询 | 连接到 PostgreSQL |
| SQLite | 轻量数据库 | 本地 SQLite 文件 |
| Filesystem | 文件系统 | 访问指定目录 |
| GitHub | GitHub API | PR、Issue 管理 |
| Puppeteer | 浏览器自动化 | 网页抓取、测试 |
配置方法
在 settings.json 中配置:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/directory"]
}
}
}
4.4 Skills(自定义技能)
Skills 允许你创建自定义命令,扩展 Claude Code 的能力。
内置 Skills
你已经配置了以下内置 Skills:
| Skill | 功能 |
|---|---|
/update-config |
修改 Claude Code 配置 |
/debug |
启用调试模式 |
/simplify |
代码优化审查 |
/batch |
批量处理任务 |
/loop |
循环执行任务 |
/claude-api |
Claude API 开发 |
/init |
初始化 CLAUDE.md |
/review |
代码审查 |
/security-review |
安全审查 |
创建自定义 Skill
在 ~/.claude/skills/ 目录下创建 .md 文件:
# skill: my-tool
描述:生成常用的 React 组件模板
# 触发指令
instruction: |
当用户说 "创建组件" 或 "生成 react 组件" 时,执行以下操作:
1. 询问组件名称和属性
2. 生成符合项目规范的 React 组件代码
3. 同时生成对应的测试文件
4.5 Hooks(自动化钩子)
Hooks 允许在特定事件发生时自动执行操作。
钩子类型
| 钩子 | 触发时机 |
|---|---|
PreToolUse |
工具执行前 |
PostToolUse |
工具执行后 |
Start |
会话开始时 |
Stop |
会话结束时 |
Notification |
通知事件 |
配置示例
{
"hooks": {
"PostToolUse": [
{
"match": "Bash",
"hooks": [
{
"type": "command",
"command": "echo '执行了终端命令: ${tool_name}'"
}
]
}
]
}
}
实际应用场景
{
"hooks": {
"PreToolUse": [
{
"match": "git commit",
"hooks": [
{
"type": "command",
"command": "npm run lint"
}
]
}
]
}
}
上述配置会在 git commit 执行前自动运行 lint 检查。
五、实际应用场景案例
场景一:开发小工具
需求:创建一个文件重命名工具
操作步骤:
1. 启动 Claude Code
$ claude
2. 描述需求
"帮我创建一个命令行文件重命名工具,支持以下功能:
- 批量重命名
- 支持前缀/后缀添加
- 正则表达式替换
- 支持预览模式"
3. Claude 会:
- 分析需求,设计程序架构
- 生成代码(可能包括 CLI 参数解析、文件操作等)
- 编写使用说明
生成代码示例:
#!/usr/bin/env python3
"""文件批量重命名工具"""
import argparse
import os
import re
import shutil
from pathlib import Path
def rename_files(directory, pattern, replacement, prefix="", suffix="", preview=False):
"""批量重命名文件"""
directory = Path(directory)
renamed = []
for file in directory.iterdir():
if not file.is_file():
continue
new_name = file.name
# 正则替换
if pattern:
new_name = re.sub(pattern, replacement, new_name)
# 添加前缀
if prefix:
new_name = prefix + new_name
# 添加后缀
if suffix:
name_parts = new_name.rsplit('.', 1)
if len(name_parts) == 2:
new_name = f"{name_parts[0]}{suffix}.{name_parts[1]}"
else:
new_name = new_name + suffix
if new_name != file.name:
old_path = file
new_path = file.parent / new_name
if preview:
print(f"预览: {file.name} -> {new_name}")
else:
if not new_path.exists():
shutil.move(str(old_path), str(new_path))
renamed.append((file.name, new_name))
print(f"重命名: {file.name} -> {new_name}")
else:
print(f"跳过(目标已存在): {new_name}")
return renamed
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="文件批量重命名工具")
parser.add_argument("directory", help="目标目录")
parser.add_argument("-p", "--pattern", help="正则匹配模式")
parser.add_argument("-r", "--replacement", help="替换内容")
parser.add_argument("--prefix", help="添加前缀")
parser.add_argument("--suffix", help="添加后缀")
parser.add_argument("--preview", action="store_true", help="预览模式")
args = parser.parse_args()
rename_files(args.directory, args.pattern, args.replacement,
args.prefix, args.suffix, args.preview)
场景二:代码审查
需求:审查 PR 中的代码更改
方式一:使用内置技能
/review
方式二:自然语言描述
"帮我审查这个 PR 的代码更改,重点关注:
1. 潜在的 bug
2. 性能问题
3. 安全漏洞
4. 代码风格"
Claude 审查维度:
代码审查清单:
┌────────────────────────────────────────────────────────────┐
│ ✓ 逻辑正确性 - 业务逻辑是否正确 │
│ ✓ 边界条件 - 空值、异常处理是否完善 │
│ ✓ 性能 - 是否有不必要的循环/重复计算 │
│ ✓ 安全性 - 是否有 SQL 注入、XSS 等漏洞 │
│ ✓ 可读性 - 命名、注释是否清晰 │
│ ✓ 最佳实践 - 是否遵循语言/框架规范 │
│ ✓ 测试覆盖 - 是否有遗漏的测试场景 │
└────────────────────────────────────────────────────────────┘
场景三:代码提交
需求:提交代码到 Git 仓库
操作步骤:
1. 输入:
"帮我提交当前的更改"
2. Claude 会自动:
a) 执行 git status 查看更改
b) 分析更改内容(新增、修改、删除的文件)
c) 询问提交信息或建议合适的提交信息
d) 执行 git add 和 git commit
e) 可选:询问是否需要 git push
提交示例:
更改分析:
✦ modified: src/utils/helper.ts
✦ modified: package.json
✦ new file: tests/helper.test.ts
建议提交信息:
"添加日期格式化工具函数及测试
- 新增 formatDate、parseDate 工具函数
- 补充完整的单元测试
- 更新 package.json 依赖"
是否确认提交?(yes/no)
场景四:问题调试
需求:诊断应用崩溃问题
操作步骤:
1. 启用调试模式(可选)
/debug
2. 描述问题
"应用在用户登录时崩溃,错误信息是:
TypeError: Cannot read property 'token' of null
发生在 AuthProvider.jsx 的第 42 行"
3. Claude 会:
- 分析错误堆栈
- 定位问题代码
- 提供修复方案
调试输出示例:
问题分析:
─────────────────────────────────────────
错误类型:TypeError
原因:尝试读取 null 对象的 token 属性
可能原因:
1. user 对象未正确初始化
2. 异步数据加载时序问题
3. 登录接口返回数据格式异常
建议修复:
─────────────────────────────────────────
方案一:添加空值检查
const token = user?.token || null;
方案二:添加加载状态判断
if (!user || user.isLoading) {
return <Loading />;
}
方案三:检查 API 返回数据
确认登录接口返回的 user 对象结构
场景五:项目初始化
需求:快速搭建新项目
操作步骤:
1. 输入:
"帮我初始化一个 React + TypeScript 项目"
2. Claude 会:
- 检查当前目录
- 创建项目结构
- 生成配置文件
- 安装依赖
项目结构示例:
my-react-project/
├── public/
│ └── index.html
├── src/
│ ├── components/
│ │ └── App.tsx
│ ├── hooks/
│ ├── utils/
│ ├── types/
│ ├── App.tsx
│ ├── main.tsx
│ └── index.css
├── .eslintrc.json
├── tsconfig.json
├── vite.config.ts
├── package.json
└── README.md
场景六:批量文件操作
需求:批量处理文件
示例 1:查找并修改
"在 src 目录下,将所有 console.log 替换成 logger.info"
示例 2:代码迁移
"将所有 class 组件迁移到函数组件 + Hooks 形式"
示例 3:文档生成
"为 src 目录下的所有 .ts 文件生成 TypeDoc 文档"
场景七:数据库操作
需求:连接数据库并执行查询
前置配置:在 settings.json 中配置 MCP
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/mydb"]
}
}
}
操作:
"查询所有用户,按注册时间排序,显示最近注册的 10 个"
Claude 会生成并执行 SQL 查询,返回结果。
场景八:API 开发
需求:使用 Claude API 构建应用
使用内置 Skill:
/claude-api
代码示例:
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY
});
async function chatWithClaude(prompt) {
const message = await client.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 1024,
messages: [{
role: 'user',
content: prompt
}]
});
return message.content[0].text;
}
// 使用
const response = await chatWithClaude('用 Python 写一个快速排序');
console.log(response);
场景九:大型项目重构
需求:重构遗留代码
操作步骤:
1. 使用 /batch 技能并行处理
/batch
2. 描述重构目标
"将 src/utils 目录下的代码重构为 TypeScript,
添加完整的类型定义,并提取公共方法"
3. Claude 会:
- 分析代码依赖关系
- 制定重构计划
- 逐步执行重构
- 确保重构后功能不变
场景十:自动化工作流
需求:配置自动化任务
场景 A:循环执行任务
/loop 5m /check-deploy
每 5 分钟检查一次部署状态。
场景 B:定时提醒
使用 Cron 表达式设置提醒:
{
"cron": "0 9 * * *",
"prompt": "检查今天待处理的 Code Review",
"recurring": true
}
每天早上 9 点自动检查待处理的代码审查。
场景十一:安全审查
需求:检查代码安全漏洞
使用内置 Skill:
/security-review
或者直接要求:
"审查 src 目录下的代码,检查是否有安全漏洞:
- SQL 注入
- XSS 跨站脚本
- 敏感信息泄露
- 权限控制问题"
场景十二:文档编写
需求:生成项目文档
"为这个项目生成完整的 README.md,包括:
- 项目简介
- 技术栈
- 安装说明
- 使用示例
- API 文档"
六、配置与权限管理
6.1 配置文件优先级
配置优先级(从高到低):
┌─────────────────────────────────────────────────────────────┐
│ 1. 项目目录 .claude/settings.json (最高优先级) │
│ 2. 项目根目录 CLAUDE.md (项目指令) │
│ 3. ~/.claude/settings.json (用户全局配置) │
│ 4. ~/.claude/settings.local.json (本地覆盖) │
└─────────────────────────────────────────────────────────────┘
6.2 CLAUDE.md 项目配置
在项目根目录创建 CLAUDE.md,定义项目特定的指令:
# 项目配置
## 项目描述
这是一个电商后端 API 项目
## 技术栈
- 后端:Node.js + Express + TypeScript
- 数据库:PostgreSQL + Prisma
- 认证:JWT
## 常用命令
- `npm run dev` - 启动开发服务器
- `npm run build` - 构建生产版本
- `npm test` - 运行测试
- `npm run lint` - 代码检查
## 代码规范
- 使用 ESLint + Prettier
- 所有 API 必须有 JSDoc 注释
- 提交前必须通过 lint 和测试
## 特殊说明
- 支付相关代码在 src/payment 目录
- 第三方集成配置在 config/third-party.ts
6.3 权限管理
{
"permissions": {
"allow": [
"Bash(npm install:*)",
"Bash(npm run:*)",
"Bash(git commit)",
"Bash(git push)",
"Read",
"Glob",
"Grep"
],
"deny": [
"Bash(rm -rf ~)",
"Bash(sudo)",
"Write(~/.ssh/**)",
"Write(/etc/**)"
],
"AutoApprove": false
}
}
权限说明
| 权限 | 说明 |
|---|---|
Bash |
允许执行终端命令 |
Read |
允许读取文件 |
Write |
允许写入/创建文件 |
Glob |
允许按模式搜索文件 |
Grep |
允许搜索文件内容 |
Edit |
允许编辑现有文件 |
MCP |
允许使用 MCP 服务器 |
6.4 环境变量配置
{
"env": {
"ANTHROPIC_API_KEY": "your-key",
"NODE_ENV": "development",
"DEBUG": "true"
}
}
七、高级特性
7.1 模型选择
# 使用不同的模型
claude --model claude-opus-4-6 # 最强能力
claude --model claude-sonnet-4-6 # 平衡性能
claude --model claude-haiku-4-5 # 快速响应
7.2 多会话管理
# 查看所有会话
/tasks
# 切换会话
/switch <会话ID>
# 查看会话历史
/history
7.3 性能优化
{
"model": "claude-3-5-sonnet-20241022",
"maxTokens": 4096,
"temperature": 0.7
}
八、常见问题与解决方案
Q1: 如何更新 Claude Code?
claude --version # 查看当前版本
claude --update # 检查更新
Q2: 如何配置代理?
{
"env": {
"HTTPS_PROXY": "http://proxy:8080",
"HTTP_PROXY": "http://proxy:8080"
}
}
Q3: 权限被拒绝怎么办?
1. 检查 settings.json 中的权限配置
2. 临时允许:使用 /update-config 添加权限
3. 手动编辑 ~/.claude/settings.json
Q4: API 超时怎么办?
{
"env": {
"API_TIMEOUT_MS": 600000 // 10 分钟
}
}
Q5: MCP 服务器连接失败?
1. 检查服务器是否已安装:npm list -g <package>
2. 验证配置是否正确
3. 查看日志:claude logs
4. 尝试重新配置
附录
常用命令速查表
# 启动
claude # 交互式对话
claude "提示词" # 单次执行
# 选项
--help # 显示帮助
--version # 显示版本
--model <模型> # 选择模型
--debug # 调试模式
# 退出
/exit # 退出程序
Ctrl + D # 快捷键退出
资源链接
- 官方文档:https://docs.anthropic.com/en/docs/claude-code
- Claude API:https://www.anthropic.com/api
- MCP 规范:https://spec.modelcontextprotocol.io
提示:更多高级用法和最新功能,请参考官方文档。
更多推荐


所有评论(0)