Skip to content
OpenInfoHub
Go back

Claude Code 完全指南:AI 驱动的智能编程助手

Claude Code 是 Anthropic 推出的 AI 驱动编程助手,它能理解整个代码库,通过自然语言命令帮助开发者构建功能、修复 bug 和自动化开发任务。与传统的代码补全工具不同,Claude Code 采用 Agent 架构,可以跨多个文件和工具自主完成复杂任务。

目录

什么是 Claude Code?

Claude Code 是一个智能编程助手,它直接集成到你的开发环境中,无需额外的服务器或复杂配置。通过理解你的整个代码库,Claude Code 可以执行日常任务、解释复杂代码、处理 Git 工作流,并进行多文件编辑。

核心特点

与传统工具的区别

传统的代码补全工具(如 Copilot)主要基于当前文件的上下文进行预测,而 Claude Code 采用完全不同的方法:

快速开始

系统要求

使用 Claude Code 之前,确保你的系统满足以下要求:

安装方式

Claude Code 提供多种安装方式,选择适合你的平台:

1. 终端 CLI(推荐)

终端 CLI 是功能最完整的版本,支持直接在命令行中编辑文件、运行命令和管理整个项目。

macOS、Linux、WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Windows CMD:

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

注意:Windows 需要先安装 Git for Windows

Homebrew(macOS):

brew install --cask claude-code

WinGet(Windows):

winget install Anthropic.ClaudeCode

安装完成后,在任何项目目录中运行:

claude

首次使用时会提示登录。登录后即可开始使用。

2. VS Code 扩展

VS Code 扩展提供内联差异显示、@-提及、计划审查和对话历史记录。

安装方法:

安装后,打开命令面板(Cmd+Shift+P / Ctrl+Shift+P),输入 “Claude Code”,选择 “Open in New Tab”。

3. 桌面应用

独立应用程序,可在 IDE 或终端之外运行 Claude Code。支持可视化审查差异、并行运行多个会话、安排定期任务和启动云会话。

下载地址:

安装后,启动 Claude,登录,然后点击 Code 标签开始编码。需要付费订阅。

4. Web 版本

在浏览器中运行 Claude Code,无需本地设置。适合启动长时间运行的任务、处理本地没有的仓库或并行运行多个任务。支持桌面浏览器和 Claude iOS 应用。

访问 claude.ai/code 即可开始使用。

5. JetBrains 插件

支持 IntelliJ IDEA、PyCharm、WebStorm 和其他 JetBrains IDE,提供交互式差异查看和选择上下文共享。

从 JetBrains Marketplace 安装 Claude Code 插件并重启 IDE。

选择合适的环境

每个环境都连接到相同的 Claude Code 引擎,因此你的 CLAUDE.md 文件、设置和 MCP 服务器在所有环境中都可以使用。

需求最佳选择
从手机或其他设备继续本地会话Remote Control
在移动设备上启动任务Web 或 Claude iOS 应用
自动化 PR 审查和问题分类GitHub Actions 或 GitLab CI/CD
每个 PR 自动代码审查GitHub Code Review
从 Slack 路由 bug 报告到 PRSlack 集成
调试实时 Web 应用Chrome 扩展
为自己的工作流构建自定义 AgentAgent SDK

工作原理

Agent 循环架构

Claude Code 采用 Agent 架构,当你给 Claude 一个任务时,它会经历三个阶段:收集上下文、执行操作、验证结果。这些阶段相互融合,Claude 会根据任务需求灵活调整。

1. 收集上下文

Claude 首先需要理解你的代码库和任务需求:

2. 执行操作

基于收集的上下文,Claude 采取行动:

3. 验证结果

Claude 会检查自己的工作:

这个循环会根据任务复杂度重复多次。一个简单的问题可能只需要收集上下文,而一个 bug 修复可能需要多次循环所有三个阶段。

模型与工具

Claude Code 的 Agent 能力由两个核心组件驱动:推理模型和执行工具。

推理模型

Claude Code 使用 Claude 模型来理解代码和推理任务:

可以在会话期间使用 /model 命令切换,或启动时指定:

claude --model opus

内置工具

工具让 Claude Code 具备 Agent 能力。没有工具,Claude 只能生成文本;有了工具,Claude 可以执行操作。

工具分为五大类:

1. 文件操作

2. 搜索

3. 执行

4. Web 访问

5. 代码智能

Claude 根据你的提示和学到的信息选择使用哪些工具。例如,当你说”修复失败的测试”时,Claude 可能会:

  1. 运行测试套件查看失败情况
  2. 读取错误输出
  3. 搜索相关源文件
  4. 读取这些文件理解代码
  5. 编辑文件修复问题
  6. 再次运行测试验证

每次工具使用都会给 Claude 提供新信息,指导下一步操作。这就是 Agent 循环的实际应用。

Claude 可以访问什么

当你在目录中运行 claude 时,Claude Code 获得以下访问权限:

你的项目

你的终端

你的 Git 状态

CLAUDE.md 文件

一个 Markdown 文件,用于存储项目特定的指令、约定和上下文,Claude 在每个会话中都会读取。

自动记忆

Claude 在工作时自动保存的学习内容,如项目模式和你的偏好。每个会话开始时会加载 MEMORY.md 的前 200 行。

你配置的扩展

因为 Claude 可以看到整个项目,所以它可以跨项目工作。当你要求 Claude “修复身份验证 bug” 时,它会搜索相关文件、读取多个文件理解上下文、跨文件进行协调编辑、运行测试验证修复,如果你要求还会提交更改。

这与只能看到当前文件的内联代码助手不同。

执行环境和界面

执行环境

Claude Code 在三种环境中运行,每种环境对代码执行位置有不同的权衡:

环境代码运行位置使用场景
Local(本地)你的机器默认选项。完全访问你的文件、工具和环境
Cloud(云端)Anthropic 管理的虚拟机卸载任务、处理本地没有的仓库
Remote Control(远程控制)你的机器,从浏览器控制使用 Web UI 同时保持一切在本地

访问界面

你可以通过多种界面访问 Claude Code:

界面决定了你如何查看和交互,但底层的 Agent 循环是相同的。

会话管理

会话保存

Claude Code 在你工作时将对话保存在本地。每条消息、工具使用和结果都会存储,这使得回退、恢复和分叉会话成为可能。在 Claude 进行代码更改之前,它还会快照受影响的文件,以便你可以在需要时恢复。

会话独立性

会话是独立的。每个新会话都以全新的上下文窗口开始,不包含之前会话的对话历史。Claude 可以使用自动记忆跨会话持久化学习内容,你也可以在 CLAUDE.md 中添加自己的持久指令。

跨分支工作

每个 Claude Code 对话都是一个与当前目录绑定的会话。当你恢复时,只会看到该目录的会话。

Claude 看到当前分支的文件。当你切换分支时,Claude 看到新分支的文件,但对话历史保持不变。Claude 记得你讨论的内容,即使在切换后也是如此。

由于会话与目录绑定,你可以使用 git worktrees 运行并行的 Claude 会话,它为各个分支创建单独的目录。

恢复或分叉会话

当你使用 claude --continueclaude --resume 恢复会话时,你会从离开的地方继续,使用相同的会话 ID。新消息会附加到现有对话中。你的完整对话历史会恢复,但会话范围的权限不会。你需要重新批准这些权限。

要分叉并尝试不同的方法而不影响原始会话,使用 --fork-session 标志:

claude --continue --fork-session

这会创建一个新的会话 ID,同时保留到该点的对话历史。原始会话保持不变。与恢复一样,分叉的会话不会继承会话范围的权限。

注意:如果你在多个终端中恢复同一个会话,两个终端都会写入同一个会话文件。来自两者的消息会交错,就像两个人在同一个笔记本上写字。不会损坏任何东西,但对话会变得混乱。对于从同一起点开始的并行工作,使用 --fork-session 为每个终端提供自己的干净会话。

上下文窗口管理

上下文窗口的内容

Claude 的上下文窗口包含:

随着工作的进行,上下文会填满。Claude 会自动压缩,但对话早期的指令可能会丢失。将持久规则放在 CLAUDE.md 中,运行 /context 查看什么在占用空间。

上下文填满时

Claude Code 在接近限制时自动管理上下文。它首先清除较旧的工具输出,然后在需要时总结对话。你的请求和关键代码片段会保留;对话早期的详细指令可能会丢失。将持久规则放在 CLAUDE.md 中,而不是依赖对话历史。

要控制压缩期间保留的内容,在 CLAUDE.md 中添加 “Compact Instructions” 部分,或使用焦点运行 /compact(如 /compact focus on the API changes)。

运行 /context 查看什么在占用空间。MCP 服务器会在每个请求中添加工具定义,因此几个服务器在你开始工作之前就可能消耗大量上下文。运行 /mcp 检查每个服务器的成本。

使用 Skills 和 Subagents 管理上下文

除了压缩,你还可以使用其他功能来控制加载到上下文中的内容。

Skills 按需加载:Claude 在会话开始时看到 Skill 描述,但完整内容仅在使用 Skill 时加载。对于手动调用的 Skills,设置 disable-model-invocation: true 以在需要之前将描述排除在上下文之外。

Subagents 获得自己的新上下文:完全独立于你的主对话。他们的工作不会使你的上下文膨胀。完成后,他们返回摘要。这种隔离是 Subagents 帮助长会话的原因。

安全机制

检查点:撤销更改

每次文件编辑都是可逆的。在 Claude 编辑任何文件之前,它会快照当前内容。如果出现问题,按两次 Esc 键回退到之前的状态,或要求 Claude 撤销。

检查点是会话本地的,与 git 分开。它们只覆盖文件更改。影响远程系统(数据库、API、部署)的操作无法检查点,这就是为什么 Claude 在运行具有外部副作用的命令之前会询问。

权限控制

按 Shift+Tab 循环切换权限模式:

你还可以在 .claude/settings.json 中允许特定命令,这样 Claude 就不会每次都询问。这对于受信任的命令(如 npm testgit status)很有用。设置可以从组织范围的策略到个人偏好进行范围限定。

扩展 Claude Code

Claude Code 的内置工具涵盖了大多数编码任务,但你可以通过扩展层自定义它的功能。

扩展功能概览

功能作用使用场景示例
CLAUDE.md每个会话加载的持久上下文项目约定、“始终执行 X” 规则”使用 pnpm,不是 npm。提交前运行测试。“
SkillsClaude 可以使用的指令、知识和工作流可重用内容、参考文档、可重复任务/deploy 运行部署检查清单;API 文档 Skill 包含端点模式
Subagents返回摘要结果的隔离执行上下文上下文隔离、并行任务、专门工作者读取许多文件但仅返回关键发现的研究任务
Agent Teams协调多个独立的 Claude Code 会话并行研究、新功能开发、使用竞争假设进行调试同时生成审查者检查安全性、性能和测试
MCP连接到外部服务外部数据或操作查询数据库、发布到 Slack、控制浏览器
Hooks在事件上运行的确定性脚本可预测的自动化,不涉及 LLM每次文件编辑后运行 ESLint

CLAUDE.md:项目指令

CLAUDE.md 是一个 Markdown 文件,用于存储 Claude 在每个会话中应该知道的项目特定指令。

使用场景:

示例 CLAUDE.md:

# 项目约定

## 包管理器
使用 pnpm,不是 npm 或 yarn。

## 测试
提交前始终运行 `pnpm test`

## 代码风格
- 使用 TypeScript 严格模式
- 优先使用函数式编程模式
- 所有公共 API 必须有 JSDoc 注释

## 架构
- `/src/components` - React 组件
- `/src/utils` - 工具函数
- `/src/api` - API 客户端代码

最佳实践:

Skills:可重用知识和工作流

Skills 是包含知识、工作流或指令的 Markdown 文件。你可以使用 /<name> 命令调用 Skills,或者 Claude 可以在相关时自动加载它们。

Skills 类型:

  1. 参考 Skills:提供 Claude 在整个会话中使用的知识(如 API 风格指南)
  2. 操作 Skills:告诉 Claude 执行特定操作(如运行部署工作流的 /deploy

示例 Skill(deploy.md):

---
name: deploy
description: 部署应用到生产环境
disable-model-invocation: false
---

# 部署工作流

1. 确保所有测试通过:`pnpm test`
2. 构建生产版本:`pnpm build`
3. 检查构建输出大小
4. 运行生产环境检查:`pnpm check:prod`
5. 部署到 Vercel:`vercel --prod`
6. 验证部署成功
7. 通知团队

使用方法:

/deploy

上下文成本:

MCP:连接外部服务

Model Context Protocol (MCP) 允许 Claude Code 连接到外部服务和工具。

使用场景:

配置 MCP:

MCP 配置文件位于:

示例配置:

{
  "mcpServers": {
    "database": {
      "command": "uvx",
      "args": ["mcp-server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://localhost/mydb"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

MCP 与 Skills 的结合:

MCP 提供连接能力,Skills 提供使用知识。例如:

Subagents:隔离的工作者

Subagents 在自己的新上下文中运行,完全独立于主对话。他们的工作不会使你的上下文膨胀,完成后返回摘要。

使用场景:

示例:

# Claude 可以自动生成 subagent
"请创建一个 subagent 来审查这个 PR 的安全问题"

Subagent vs Agent Team:

特性SubagentAgent Team
上下文自己的上下文窗口;结果返回给调用者自己的上下文窗口;完全独立
通信仅向主 Agent 报告结果团队成员直接互相发消息
协调主 Agent 管理所有工作共享任务列表,自我协调
最佳用途仅结果重要的专注任务需要讨论和协作的复杂工作
Token 成本较低:结果摘要返回主上下文较高:每个团队成员是单独的 Claude 实例

Hooks:事件驱动的自动化

Hooks 是在特定事件发生时运行的确定性脚本,完全在 Agent 循环之外运行。

触发事件:

Hook 操作:

示例 Hook(lint-on-save.json):

{
  "name": "Lint on Save",
  "version": "1.0.0",
  "when": {
    "type": "fileEdited",
    "patterns": ["*.ts", "*.tsx"]
  },
  "then": {
    "type": "runCommand",
    "command": "npm run lint"
  }
}

使用场景:

实际使用场景

构建新功能

场景:为应用添加用户认证功能

claude
我需要为应用添加用户认证。使用 JWT,支持注册、登录和密码重置。
相关代码在 src/auth/ 目录。

Claude 会:

  1. 探索现有的 auth 目录结构
  2. 创建必要的路由和控制器
  3. 实现 JWT 生成和验证
  4. 添加密码哈希和验证
  5. 创建数据库迁移
  6. 编写测试
  7. 更新 API 文档

修复 Bug

场景:修复支付流程中的 bug

结账流程对于卡过期的用户失败了。
相关代码在 src/payments/。你能调查并修复吗?

Claude 会:

  1. 搜索 payments 目录
  2. 读取相关文件理解流程
  3. 识别问题(可能是令牌刷新逻辑)
  4. 先编写失败的测试
  5. 修复代码
  6. 运行测试验证
  7. 如果你要求,提交更改

代码重构

场景:重构遗留代码

src/legacy/ 中的代码需要现代化。
将类组件转换为函数组件,使用 hooks,改进类型定义。

Claude 会:

  1. 分析现有代码结构
  2. 识别所有类组件
  3. 逐个转换为函数组件
  4. 将生命周期方法转换为 hooks
  5. 添加 TypeScript 类型
  6. 更新测试
  7. 确保所有测试通过

文档编写

场景:为 API 生成文档

为 src/api/ 中的所有端点生成 API 文档。
使用 OpenAPI 3.0 格式。

Claude 会:

  1. 读取所有 API 路由文件
  2. 提取端点、参数、响应
  3. 生成 OpenAPI 规范
  4. 创建示例请求和响应
  5. 添加描述和注释

测试编写

场景:为现有代码添加测试

src/utils/validation.ts 缺少测试。
请添加全面的单元测试,覆盖所有边缘情况。

Claude 会:

  1. 读取 validation.ts 理解功能
  2. 识别所有函数和边缘情况
  3. 创建测试文件
  4. 编写测试用例
  5. 运行测试确保通过
  6. 报告代码覆盖率

性能优化

场景:优化慢查询

/api/users 端点很慢。
请分析并优化性能。

Claude 会:

  1. 检查端点代码
  2. 识别数据库查询
  3. 分析查询性能
  4. 添加索引或优化查询
  5. 实现缓存策略
  6. 运行基准测试比较
  7. 记录改进

有效使用技巧

1. 这是一个对话

Claude Code 是对话式的。你不需要完美的提示。从你想要的开始,然后细化:

修复登录 bug
[Claude 调查,尝试某些东西]
不太对。问题在会话处理中。
[Claude 调整方法]

当第一次尝试不对时,你不需要重新开始。你迭代。

2. 中断和引导

你可以随时中断 Claude。如果它走错了路,只需输入你的更正并按 Enter。Claude 会停止正在做的事情,根据你的输入调整方法。你不必等它完成或重新开始。

3. 前期要具体

初始提示越精确,需要的更正就越少。

模糊提示:

修复认证

具体提示:

过期卡用户的结账流程失败了。
检查 src/payments/ 中的问题,特别是令牌刷新。
先编写失败的测试,然后修复。

模糊提示有效,但你会花更多时间引导。像上面这样的具体提示通常第一次就成功。

4. 给 Claude 验证依据

当 Claude 可以检查自己的工作时表现更好。包括测试用例、粘贴预期 UI 的截图或定义你想要的输出。

对于视觉工作,粘贴设计截图并要求 Claude 将其实现与之比较。

5. 先探索后实现

对于复杂问题,将研究与编码分开。使用计划模式(按两次 Shift+Tab)先分析代码库:

读取 src/auth/ 并理解我们如何处理会话。
然后创建添加 OAuth 支持的计划。

审查计划,通过对话细化,然后让 Claude 实现。这种两阶段方法比直接跳到代码产生更好的结果。

6. 委托,不要指示

把它想象成委托给一个有能力的同事。给出上下文和方向,然后信任 Claude 弄清楚细节:

过期卡用户的结账流程失败了。
相关代码在 src/payments/。你能调查并修复吗?

你不需要指定读取哪些文件或运行哪些命令。Claude 会弄清楚。

7. 使用计划模式进行大型更改

对于重大重构或架构更改,使用计划模式(按两次 Shift+Tab)让 Claude 先创建计划:

我想将认证系统从会话迁移到 JWT。
请创建详细的迁移计划。

审查计划,讨论权衡,然后批准执行。

8. 利用 Git 集成

Claude 理解你的 Git 状态。你可以要求它:

审查我未提交的更改
为这些更改创建一个提交消息
创建一个 PR 描述

9. 寻求帮助

Claude Code 可以教你如何使用它。问这样的问题:

如何设置 hooks?
构建 CLAUDE.md 的最佳方式是什么?
如何配置 MCP 服务器?

内置命令也会引导你完成设置:

常用命令

会话管理

# 启动新会话
claude

# 继续上一个会话
claude --continue

# 恢复特定会话
claude --resume <session-id>

# 分叉会话
claude --continue --fork-session

# 使用特定模型
claude --model opus

会话内命令

# 切换模型
/model opus

# 查看上下文使用情况
/context

# 压缩上下文
/compact

# 查看 MCP 服务器
/mcp

# 初始化 CLAUDE.md
/init

# 调用 Skill
/deploy

# 配置 Agents
/agents

# 诊断问题
/doctor

权限模式

Shift+Tab 循环切换:

  1. Default - 询问编辑和命令
  2. Auto-accept edits - 自动接受编辑
  3. Plan mode - 仅只读工具

中断和撤销

最佳实践

项目设置

1. 创建 CLAUDE.md

为每个项目创建 CLAUDE.md 文件,包含:

# 项目名称

## 技术栈
- Node.js 18+
- TypeScript 5.0
- React 18
- PostgreSQL 14

## 开发命令
- `pnpm dev` - 启动开发服务器
- `pnpm test` - 运行测试
- `pnpm build` - 构建生产版本
- `pnpm lint` - 运行 linter

## 代码约定
- 使用 TypeScript 严格模式
- 所有组件使用函数式组件和 hooks
- 优先使用组合而非继承
- 测试覆盖率保持在 80% 以上

## 项目结构
- `/src/components` - React 组件
- `/src/hooks` - 自定义 hooks
- `/src/utils` - 工具函数
- `/src/api` - API 客户端
- `/src/types` - TypeScript 类型定义

## 重要规则
- 永远不要直接修改 production 分支
- 提交前必须运行测试
- 使用语义化提交消息

2. 配置 .gitignore

确保 Claude 不会访问不必要的文件:

node_modules/
.env
.env.local
dist/
build/
.DS_Store
*.log

3. 设置权限

.claude/settings.json 中配置允许的命令:

{
  "allowedCommands": [
    "npm test",
    "npm run lint",
    "git status",
    "git diff",
    "git log"
  ]
}

提示工程

1. 提供上下文

不好:

修复 bug

好:

用户报告在 Safari 中登录失败。
错误信息是 "Invalid token"。
相关代码在 src/auth/login.ts。
我们使用 JWT 进行认证。

2. 指定约束

不好:

添加搜索功能

好:

添加搜索功能到用户列表页面。
要求:
- 实时搜索(输入时过滤)
- 搜索名称和邮箱
- 大小写不敏感
- 使用现有的 Input 组件
- 添加单元测试

3. 包含示例

不好:

格式化日期

好:

格式化日期显示。
输入:2026-03-18T12:00:00Z
期望输出:March 18, 2026 at 12:00 PM
使用 date-fns 库。

4. 分解复杂任务

不好:

构建完整的用户管理系统

好:

第一步:创建用户模型和数据库迁移
完成后,我会要求你继续下一步。

代码审查

使用 Claude Code 进行代码审查:

审查我未提交的更改。
关注:
- 安全问题
- 性能问题
- 代码风格一致性
- 测试覆盖率

或创建审查 Skill:

---
name: review
description: 全面的代码审查
---

# 代码审查清单

## 安全
- [ ] 没有硬编码的密钥或密码
- [ ] 输入验证正确
- [ ] SQL 注入防护
- [ ] XSS 防护

## 性能
- [ ] 没有 N+1 查询
- [ ] 适当的索引
- [ ] 缓存策略
- [ ] 资源清理

## 代码质量
- [ ] 遵循项目约定
- [ ] 适当的错误处理
- [ ] 有意义的变量名
- [ ] 适当的注释

## 测试
- [ ] 单元测试覆盖
- [ ] 边缘情况测试
- [ ] 错误情况测试

测试策略

1. 测试驱动开发

为用户注册功能编写测试。
测试场景:
- 成功注册
- 重复邮箱
- 无效邮箱格式
- 弱密码
- 缺少必填字段

然后实现功能使测试通过。

2. 测试现有代码

src/utils/validation.ts 缺少测试。
请分析代码并添加全面的测试覆盖。
包括:
- 正常情况
- 边缘情况
- 错误情况
- 边界值

性能优化

1. 分析性能

/api/users 端点响应慢(>2秒)。
请:
1. 分析代码识别瓶颈
2. 检查数据库查询
3. 建议优化方案
4. 实现最有效的优化
5. 运行基准测试比较

2. 数据库优化

分析 src/models/User.ts 中的查询。
检查:
- 缺少的索引
- N+1 查询问题
- 不必要的 JOIN
- 可以缓存的查询

实现优化并测量改进。

文档维护

1. 自动生成文档

为 src/api/ 中的所有端点生成 API 文档。
格式:OpenAPI 3.0
包括:
- 端点描述
- 请求参数
- 响应格式
- 错误代码
- 示例请求/响应

2. 更新 README

更新 README.md 反映最新的项目状态。
包括:
- 新功能
- 更新的依赖
- 新的环境变量
- 更改的命令

故障排除

常见问题

1. Claude 看不到我的文件

原因:

解决方案:

# 检查文件是否被 git 忽略
git check-ignore -v <file>

# 确保在正确的目录中启动 Claude
cd /path/to/project
claude

2. 上下文窗口填满

症状:

解决方案:

# 查看上下文使用情况
/context

# 压缩上下文
/compact

# 使用 subagent 进行大型任务
"创建一个 subagent 来研究这个问题"

# 将持久指令移到 CLAUDE.md

3. MCP 服务器连接失败

检查步骤:

# 查看 MCP 状态
/mcp

# 检查配置文件
cat ~/.kiro/settings/mcp.json

# 验证服务器可执行
uvx --version

# 重启 Claude Code

4. 权限被拒绝

原因:

解决方案:

# 检查文件权限
ls -la <file>

# 更改权限
chmod +x <file>

# 在 settings.json 中允许命令

5. Git 冲突

处理方法:

我有 Git 合并冲突。
文件:src/components/Header.tsx
请帮我解决冲突,保留两个分支的更改。

性能问题

1. Claude 响应慢

可能原因:

优化:

# 减少 MCP 服务器
/mcp

# 压缩上下文
/compact

# 使用 Skills 而不是在 CLAUDE.md 中放置大量内容

2. 工具执行超时

解决方案:

# 增加超时设置
# 在 .claude/settings.json 中
{
  "timeout": 60000
}

调试技巧

1. 使用计划模式

# 按两次 Shift+Tab 进入计划模式
# Claude 会创建计划而不执行

2. 查看执行日志

显示你刚才执行的所有工具调用

3. 逐步执行

让我们一步一步来。
首先,只读取相关文件并告诉我你发现了什么。

高级用法

1. 多项目工作流

使用 git worktrees 并行处理多个分支:

# 创建 worktree
git worktree add ../feature-branch feature-branch

# 在每个 worktree 中运行 Claude
cd ../feature-branch
claude

2. CI/CD 集成

在 GitHub Actions 中使用 Claude Code:

name: AI Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Claude Code
        run: curl -fsSL https://claude.ai/install.sh | bash
      - name: Review PR
        run: |
          claude --non-interactive "审查这个 PR 的更改"
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

3. 团队协作

共享 CLAUDE.md

将 CLAUDE.md 提交到 git,团队成员共享相同的上下文:

git add CLAUDE.md
git commit -m "Add Claude Code project instructions"
git push

共享 Skills

.claude/skills/ 中创建团队 Skills:

.claude/
  skills/
    deploy.md
    review.md
    test.md

组织级别配置

使用管理策略配置组织范围的设置。

4. 自定义 Subagents

创建专门的 subagents:

/agents

定义 subagent:

{
  "name": "security-reviewer",
  "description": "专注于安全审查的 agent",
  "skills": ["security-checklist"],
  "model": "opus"
}

使用:

@security-reviewer 审查这段代码的安全问题

5. 插件开发

创建可重用的插件包:

my-plugin/
  PLUGIN.md          # 插件描述
  skills/            # Skills
  hooks/             # Hooks
  mcp-servers/       # MCP 服务器配置

与其他工具对比

Claude Code vs GitHub Copilot

特性Claude CodeGitHub Copilot
工作方式Agent 架构,自主完成任务代码补全和建议
代码库理解理解整个项目主要基于当前文件
多文件编辑跨文件协调编辑单文件编辑
命令执行可以运行命令、测试不能执行命令
任务自主性高度自主,完成多步骤任务需要持续人工指导
交互方式自然语言对话代码补全提示
最佳用途复杂任务、重构、bug 修复快速代码补全

Claude Code vs Cursor

特性Claude CodeCursor
平台终端、多 IDE、Web专用编辑器
Agent 能力完整 Agent 循环有限的 Agent 功能
扩展性MCP、Skills、Hooks有限的扩展
命令执行完整终端访问有限的命令执行
多会话支持并行会话单一编辑器会话
最佳用途复杂项目、自动化快速编辑和迭代

Claude Code vs ChatGPT Code Interpreter

特性Claude CodeChatGPT Code Interpreter
代码库访问完整项目访问上传的文件
持久性本地会话,可恢复会话临时
文件编辑直接编辑项目文件生成代码供复制
工具集成Git、构建工具、测试隔离的 Python 环境
扩展性高度可扩展有限的扩展
最佳用途实际项目开发数据分析、原型

定价和订阅

订阅计划

Claude Code 需要 Anthropic 订阅或 Console 账户:

第三方提供商

终端 CLI 和 VS Code 也支持第三方 API 提供商,允许使用其他 LLM 服务。

使用配额

优化配额使用:

安全和隐私

数据处理

权限控制

最佳安全实践

  1. 不要共享敏感信息

    • 使用环境变量存储密钥
    • 将 .env 文件添加到 .gitignore
    • 在 CLAUDE.md 中使用占位符
  2. 审查更改

    • 在接受前审查所有文件编辑
    • 使用计划模式进行重大更改
    • 利用检查点功能
  3. 限制权限

    • 仅允许必要的命令
    • 使用 .gitignore 限制文件访问
    • 定期审查权限设置
  4. 保护凭证

    # CLAUDE.md 中
    ## API 配置
    使用环境变量:
    - DATABASE_URL
    - API_KEY
    - SECRET_KEY
    
    永远不要硬编码这些值。

社区和资源

官方资源

学习资源

社区

贡献

未来展望

即将推出的功能

根据官方路线图和社区反馈,Claude Code 可能会添加:

发展方向

实战案例

案例 1:从零构建 REST API

任务:为博客系统构建完整的 REST API

claude
创建一个博客 REST API。
要求:
- Node.js + Express + TypeScript
- PostgreSQL 数据库
- 端点:文章 CRUD、用户认证、评论
- JWT 认证
- 输入验证
- 错误处理
- 单元测试
- API 文档

项目结构:
src/
  routes/
  controllers/
  models/
  middleware/
  utils/

Claude 会执行:

  1. 初始化项目和依赖
  2. 设置 TypeScript 配置
  3. 创建数据库模式
  4. 实现认证中间件
  5. 创建所有路由和控制器
  6. 添加输入验证
  7. 实现错误处理
  8. 编写测试
  9. 生成 API 文档
  10. 创建 README

结果:完整的、可运行的 REST API,包含测试和文档。

案例 2:遗留代码现代化

任务:将 jQuery 应用迁移到 React

将 public/js/legacy/ 中的 jQuery 代码迁移到 React。
要求:
- 使用 React 18 + TypeScript
- 保持相同的功能
- 改进代码结构
- 添加类型定义
- 编写测试
- 逐步迁移,确保每步都可工作

Claude 会执行:

  1. 分析现有 jQuery 代码
  2. 创建 React 项目结构
  3. 逐个组件迁移
  4. 添加 TypeScript 类型
  5. 实现状态管理
  6. 编写组件测试
  7. 验证功能等效性
  8. 清理旧代码

案例 3:性能优化项目

任务:优化慢速应用

应用性能差。请进行全面优化。
关注:
- 数据库查询
- API 响应时间
- 前端渲染
- 资源加载

提供前后基准测试。

Claude 会执行:

  1. 运行性能分析
  2. 识别瓶颈
  3. 优化数据库查询(添加索引、优化 JOIN)
  4. 实现缓存策略
  5. 优化前端(代码分割、懒加载)
  6. 压缩资源
  7. 运行基准测试
  8. 生成性能报告

案例 4:自动化测试套件

任务:为现有项目添加全面测试

项目缺少测试。请添加全面的测试覆盖。
包括:
- 单元测试(所有函数和组件)
- 集成测试(API 端点)
- E2E 测试(关键用户流程)
目标覆盖率:80%+

Claude 会执行:

  1. 分析代码库
  2. 设置测试框架
  3. 编写单元测试
  4. 编写集成测试
  5. 设置 E2E 测试
  6. 配置 CI/CD
  7. 生成覆盖率报告
  8. 记录测试策略

总结

Claude Code 代表了 AI 辅助编程的新范式。与传统的代码补全工具不同,它采用 Agent 架构,能够理解整个代码库、自主完成复杂任务、跨文件协调编辑,并与开发工具深度集成。

核心优势

  1. 全局理解:分析整个项目而不仅仅是当前文件
  2. 自主执行:从问题分析到测试验证的完整流程
  3. 高度可扩展:通过 MCP、Skills、Hooks 等机制定制
  4. 多平台支持:终端、IDE、Web 全覆盖
  5. 安全可控:检查点、权限控制、本地执行

适用场景

开始使用

  1. 安装 Claude Code(终端、VS Code 或桌面应用)
  2. 创建 CLAUDE.md 定义项目约定
  3. 从简单任务开始熟悉工作流
  4. 逐步探索高级功能(Skills、MCP、Subagents)
  5. 根据团队需求定制配置

持续学习

Claude Code 不仅是一个工具,更是一个编程伙伴。它不会替代开发者,而是增强开发者的能力,让你专注于创造性工作,将重复性任务交给 AI。


本文内容基于 Claude Code 官方文档编写,遵循内容许可限制。

参考资源:


Share this post on:

Previous Post
Hugging Face Skills 完全指南:让 AI 编程助手掌握机器学习技能
Next Post
Claude Cowork 入门指南:AI 驱动的知识工作自动化