用 Claude Code 写代码:完整教程与实战指南(翻译版)

0 阅读39分钟

用 Claude Code 写代码:完整教程与实战指南(翻译版)

译者说明:本文为辅助翻译,技术术语保留英文原词,代码内容不作改动。

2026年2月更新 —— 我在2025年7月4日(美国独立日!)首次撰写了这篇指南,此后一直随新功能的推出持续更新。本次最新修订涵盖了 Opus 4.6、Agent Teams(智能体团队)、自动记忆、快速模式等新特性。

又一位 Claude Code 的转粉。欢迎入坑,我们有很多可聊的。

Claude Code 是一个使用 Anthropic 最新模型(Sonnet 4.5 和 Opus 4.6)来为你生成代码的 CLI(命令行界面)工具。你在终端里给它下达指令,内置的编码智能体就会执行这些指令。

但它能做的远不止于此,而且真的很厉害。是那种让你叹为观止的厉害。

我本人(曾经)长期使用 Cursor。后来我试用了刚发布的 Claude Code,从此再没回头。

在本教程中,我们将通过构建一个完整的个人财务追踪 Web 应用来学习如何使用它。在这个过程中,我会向你介绍所有功能、使用模式,以及充分发挥其潜力的技巧。跟着做效果最佳。

如果你想看更实战的例子,我也用 Claude Code 用 Astro 和 Markdown 重建了我的整个博客。

如果你是视觉学习者,这里有一段视频:YouTube 链接


目录

  1. Claude Code 有什么不同
  2. 如何安装 Claude Code
  3. 三种对话模式
  4. Claude Code 命令速查表
  5. 项目记忆与文档管理
  6. 管理上下文(Context)
  7. 部署子智能体(Sub-agents)
  8. 保存你的工作
  9. 自定义斜杠命令
  10. 模型上下文协议(MCP)服务器
  11. Claude Skills(技能包)
  12. 插件系统与插件市场
  13. Hooks —— 确定性自动化
  14. Chrome 浏览器控制
  15. 构建测试策略
  16. 搭建生产级 CI/CD
  17. 性能优化
  18. Claude Code Web、移动端与桌面端
  19. Claude Code 最新动态(2026年春)
  20. Claude Code 最佳实践
  21. 结语:从代码助手到开发伙伴

1. Claude Code 有什么不同

你好,Claude 我的老朋友,我又来跟你一起写代码了。

市面上已经有很多编码智能体了,它们都具备相同的代理能力——理解代码库、编写和编辑代码、运行命令、管理 Git 操作,以及协调多个并行开发流程。

但 Claude Code 有什么不同?

要理解这一点,需要先了解编码智能体的工作原理。它其实出乎意料地简单,我不在这里展开,但你可以阅读我的教程《如何从零构建一个迷你 Claude Code》来建立直觉认知。

读完那篇文章,你会意识到 Claude 的优势来自于它的上下文管理工具调用

你还会发现,Claude Code 本质上是一个设计精良的通用智能体,碰巧特别擅长执行计划和写代码。

如果你不是开发者,觉得终端令人望而生畏,可以看看 Cowork——它用友好的桌面界面封装了同样的智能体能力,不需要写代码。

Claude 是如何写代码的

当你在开发一个大型功能时,它会先制定计划并创建一个 Todo 清单。在最近的更新中,对于较长的构建任务,它会创建一个临时的 plan.md 文件。这有助于它保持专注,并在整个会话中维持上下文。

然后它开始逐一完成任务,调用工具读取代码、更新代码,甚至从零创建全新的文件。

酷的地方在于它如何递归地执行这些步骤:写一个新文件,然后想到需要更新另一个文件来导入这个新文件,依此类推。

完成 Todo 里的一项任务后,它会打上勾,继续下一项。

另一个让我印象深刻的地方是它的主动性。比如,你让它删除某个文件里的硬编码值,它会主动去其他文件里找硬编码值并一并清除。

正是这些细节的累积,造就了非常好的使用体验。

细节很重要,朋友们。好了,夸够了,开始动手!


2. 如何安装 Claude Code

首先,我们需要安装 Claude Code。打开终端(推荐使用 Warp.dev),在任意位置运行以下命令(这是全局安装,位置不影响):

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

创建项目目录并初始化 Claude Code。我的 Mac 上有一个 Projects 文件夹,里面有几十个不同应用和项目的子文件夹。我们为这个应用创建一个 finance-tracker 文件夹:

mkdir finance-tracker
cd finance-tracker
claude

最后这条命令会启动一个 REPL——一个局限在该项目文件夹内的 Claude 本地实例,这意味着 Claude 只能看到并操作这个文件夹及其子文件夹内的内容。

第一次运行时,它会引导你完成一些初始设置,按照提示操作即可。唯一需要注意的是认证方式的选择。

Claude Code 有两种付费方式:通过 API(按量计费)或绑定已有的 Claude 账号(如果你已经在使用网页版,可能已有账号)。

我建议绑定账号,因为 API 费用可能失控。先从 $20/月 的套餐开始,如果经常触及限制,再升级到更高档位。


3. 三种对话模式

因为一个 Bug 悄悄蔓延,让我在睡梦中还在调试……

设置好之后,记住我们现在在一个空文件夹里。让我们让 Claude 从零创建我们的项目。

与 Claude 对话有 3 种方式,随时可以按 Shift+Tab 在它们之间切换。

默认模式(Default Mode)

当前你处于默认模式。你告诉 Claude 做某件事,它会建议一个修改方案,等待你的确认,然后执行。

新的输出风格功能(Output Styles)甚至可以让你要求 Claude 解释它为什么这样做。输入 /output-style 查看此功能。

自动模式(Auto Mode)

这才是真正的"氛围编码"模式。Claude 会直接编辑文件,无需等待你的确认。你可以让它开发一个功能,然后去泡杯咖啡。

它仍然会在运行某些 bash 命令时(比如安装包)询问权限,这出于安全考虑。但如果你真的想彻底放开,有几种方式:

  • 输入 /permissions 来指定哪些命令可以无需询问直接运行。现在支持通配符模式,如 Bash(npm *)Bash(* install),更加灵活。
  • 使用 --dangerously-skip-permissions 标志启动 Claude,跳过所有权限确认。除非你已设置好后文介绍的高级文档和 Git 工作流,否则我不建议这样做。

即使在自动模式下,如果你觉得它跑偏了,按 Esc 也可以随时中止。

快速模式(Fast Mode)

切换 /fast 可开启快速模式,同样使用 Opus 4.6 模型,但输出速度最高提升 2.5 倍。每个 token 的费用更高,但当你快速迭代、不想等待时非常值得。可以在会话中随时开关。

计划模式(Plan Mode)

第三种也是最后一种模式是计划模式。Claude 不会直接写代码,而是调用其扩展思考能力制定全面的策略。

开始新功能、应对复杂挑战、重构代码,或者启动新项目时,都应该使用计划模式。如果 Claude 认为你正在做一个较大的项目或功能,它有时也会主动建议切换到计划模式。

切换到计划模式,然后输入以下内容:

嘿 Claude!我想构建一个个人财务追踪 Web 应用。大概是这样的:
- 简洁、现代的界面(想象一下 Notion 遇见 Mint)
- 追踪收入、支出和储蓄目标
- 漂亮的图表和数据洞察
- 使用 React 和简单的后端构建
- 感觉要快速且令人愉悦

你不必以"嘿 Claude"开头,我只是希望在它统治世界之前,让 Claude 记住我有多友好。

Claude 会向你提出一系列问题来明确你的意图——关于架构、设计、用户流程等各方面。尽你所能地回答。

回答完之后,Claude 会给你提供一个完整的计划。在我的视频里我直接接受了,但我建议你给一些反馈,以便更好地掌控它将要构建的内容。

按 Escape,输入你的反馈,Claude 会重新规划。Claude 还会将计划保存到 Plan.md 文件中——这是一个 Markdown 格式的纯文本文件。如果你想把会话分成多次,或者中途修改计划,这个文件会非常有用。

对计划满意后,告诉它开始执行。


4. Claude Code 命令速查表

在继续之前,这里是你会用到的每个命令和快捷键的快速参考。收藏这个,边读边查。

命令作用
claude在当前目录启动 Claude Code
Shift+Tab在对话模式间切换(默认、自动、计划)
Esc停止 Claude 或退出计划模式
/init为项目初始化 CLAUDE.md 文件
/clear清除对话,重新开始
/compact压缩对话以节省上下文空间
/resume恢复之前的会话
/rename为当前会话命名
/rewind回退到之前某条消息
/stats查看使用统计和会话历史
/permissions管理工具权限
/mcp检查 MCP 服务器状态
/hooks设置生命周期钩子(Hooks)
/agents创建和管理子智能体
/plugins浏览和安装插件
/chrome启用浏览器集成
/output-style更改 Claude 解释工作内容的方式
/fast切换快速模式(输出速度提升 2.5 倍)
/debug排查当前会话中的问题
/recap总结你离开期间会话中发生的内容
/powerup交互式课程,教你 Claude Code 的各项功能
/team-onboarding根据你的使用模式生成团队成员的上手指南
/security-review让 Claude 审计代码库中的安全漏洞
#向 CLAUDE.md 添加一条备注
&将任务发送到 Claude Code Web 执行
Ctrl+B将子智能体移至后台运行
--dangerously-skip-permissions启动 Claude 时跳过所有权限确认提示

以上每个命令在本指南的后续章节中都有更详细的介绍。


5. 项目记忆与文档管理

而那段堆栈追踪(stack trace)种在我脑海中,仍然萦绕不去……

我知道这听起来很无聊,但这是使用 Claude Code 最重要的部分。它是真正构建出一个能用的应用和让你抓狂、痛苦之间的分水岭。

当 Claude 完成应用的第一个版本后,输入 /init。这会在你第一次将 Claude 引入项目时初始化它。如果你有一个已有项目想让 Claude 接手,先运行这个命令。

运行后,Claude 会扫描整个项目,创建一个 CLAUDE.md 的 Markdown 文件。这是你项目的记忆,存储跨会话持久保存的约定、决策和上下文。

它大概长这样:

# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Architecture

This is a full-stack personal finance tracker with a React frontend and Node.js/Express backend:

- **Frontend**: React 18 with Vite, single-page application with tab-based navigation
- **Backend**: Express.js REST API with SQLite database
- **Database**: SQLite3 with three main tables: transactions, categories, savings_goals
- **Communication**: Frontend calls backend API at `http://localhost:3001/api/`

The frontend uses a simple tab-based architecture managed by `App.jsx` with three main components:
- Dashboard (overview/stats)
- Transactions (CRUD operations)
- Goals (savings goals management)

Backend follows MVC pattern with routes handling API endpoints and database model managing SQLite operations.

## Database Schema

```sql
SQLite database auto-initializes with three tables:
- `categories`: id, name, color, icon (pre-populated with 9 default categories)
- `transactions`: id, type (income/expense), amount, description, category_id, date
- `savings_goals`: id, title, target_amount, current_amount, target_date

每次你与 Claude Code 开启新的对话时,这份文档都会作为提示的一部分被带入。因此,随着项目的演进,持续完善这份文档非常有价值。你可以直接编辑文件,也可以在聊天时使用 `#` 命令:

```bash
# 始终在调用 API 的组件周围使用错误边界

在与 Claude 协作的过程中,养成记录你想要或不想要强化的模式的习惯。

自动记忆(Automatic Memory)

从版本 2.1.32(2026年2月)开始,Claude Code 也会自动构建自己的记忆。在你们合作的过程中,Claude 会注意到模式、偏好和项目约定,并将其写入 ~/.claude/projects/{你的项目}/memory/ 目录下的 MEMORY.md 文件。

把它想象成 Claude 的个人笔记本。CLAUDE.md 是你编写的、整个团队都能看到的共享项目文档;MEMORY.md 则是 Claude 自己关于如何工作的笔记——比如"这位用户偏好 Bun 而非 npm",或者"在这个项目里,提交前要先跑测试"。

MEMORY.md 的前 200 行会在每次会话开始时加载到 Claude 的系统提示中,因此它被设计为保持简洁。Claude 还会为更详细的笔记创建单独的主题文件(如 debugging.mdpatterns.md),并在主文件中添加链接。

你不需要做任何配置——它在你工作时自动发生。你也可以明确告诉 Claude 记住某件事("在这个项目里,数据获取始终使用服务端组件"),它会立刻保存。如果想禁用此功能,在环境变量中设置 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 即可。

分层 CLAUDE.md 文件结构

Claude Code 支持在多层目录中使用 CLAUDE.md 文件,让你可以按不同粒度组织知识。当文件和代码库变得庞大时,这对管理上下文非常有帮助。

我使用的模式是:项目根目录一个主 CLAUDE.md,前端和后端各一个专属文件,如下所示:

~/.claude/CLAUDE.md                    # 全局用户偏好
~/projects/                            # 父目录
├── CLAUDE.md                          # 组织/团队规范
└── finance-tracker-pro/
    ├── CLAUDE.md                      # 项目特定知识
    ├── backend/
    │   └── CLAUDE.md                  # 后端特定模式
    ├── frontend/
    │   └── CLAUDE.md                  # 前端特定模式
    └── docs/
        └── CLAUDE.md                  # 文档编写规范

你还可以设置一个全局 Claude 文件,它适用于你电脑上的所有项目。这里可以设置你个人的编码或工作方式偏好。

Claude 如何处理这个层级结构:

  • Claude 启动时会读取所有适用的 CLAUDE.md 文件
  • 更具体的文件会覆盖更通用的文件
  • 所有相关上下文会自动合并
  • Claude 会为每种情况优先使用最具体的指导

附加文档

除了 CLAUDE.md 文件,我还会创建项目文档文件,放在 docs 文件夹里。这是我放初始 PRD(产品需求文档)以及架构、设计原则、数据库 Schema 等文件的地方。然后,在我的 CLAUDE.md 文件中,我会指向这些文档:

# Finance Tracker Pro - 主文档

docs/architecture.md
docs/design-standards.md
docs/database-schema.md
docs/testing-strategy.md

## 项目概述
[你的主要项目描述]

这样我们就可以区分:哪些内容会进入提示并占用上下文窗口(CLAUDE.md 文件),哪些内容留在外面,只在需要时引用(docs 文档)。

团队共享与版本控制

CLAUDE.md 文件应被视为关键项目基础设施,并据此管理:

  • 将 CLAUDE.md 文件提交到代码仓库
  • 将其纳入代码审查流程
  • 对文档变更使用规范的提交消息
  • 对重大文档更新打标签(Tag)

高级策略

  • 让 Claude 替你维护文档 —— 在完成一个大功能或重构后,直接告诉 Claude 更新文档,因为它对刚刚完成的工作有完整的上下文。你也可以用 Hooks 或自定义命令来自动化这一过程(后文会介绍)。
  • 质量与代码规范 —— 在文档文件中直接嵌入全面的质量标准,以确保一致的代码质量。
  • 新成员入职 —— 新开发者可以通过让 Claude 解释代码库来快速上手。

6. 管理上下文(Context)

……在编码的声音中。

当你与 Claude 开启新对话时,它会将你的 CLAUDE.md 文件加载到**上下文窗口(Context Window)**中。上下文窗口是模型在生成响应时能够同时处理的最大文本量(以 token 为单位)。

随着对话的进行,对话历史、Claude 读取的文件、生成的代码和工具调用结果都会存储在这个上下文窗口中。

这会很快被填满,到某个时刻你会注意到右下角出现一个通知,警告你上下文窗口快要耗尽了。事实上,如果你让 Claude 一次性构建我们的财务应用,你肯定会看到这个提示。

一旦上下文耗尽,Claude 会自动压缩(总结)对话,然后继续。

我们希望避免这种情况,因为可能会丢失重要的上下文。我们也希望主动管理进入上下文的内容,以防 Claude 混淆。以下是我的最佳实践:

  • 将一次对话的范围限定在一个项目或功能上,确保所有上下文都相关。
  • 功能完成后,立即使用 /clear 命令清空上下文,开始新的对话。
  • 如果需要回到之前的对话,可以使用 /resume 命令。
  • 如果你认为某个项目或功能太大,一个上下文窗口放不下,让 Claude 将其拆解成项目计划并保存到 Markdown 文件(在计划模式下会自动执行)。然后让 Claude 先完成第一部分并在一次对话中结束。完成后,告诉 Claude 更新计划,清空对话,然后让它参考计划继续。

如果你到了快要耗尽上下文但又不能全部清除的时刻,可以带着指令使用 /compact

/compact 重点保留我们当前的身份认证实现方案和我们已经做出的数据库 Schema 决策。

注意:Anthropic 最近将 Sonnet 的上下文窗口增加到了 100 万 token。那相当于莎士比亚全集,但这并不意味着你就不需要遵循这些技巧来让 Claude 保持专注了。

会话命名与恢复

每次运行 clear 命令,你实际上是在开启一个新的聊天会话。Claude 不会删除你的旧对话,它们全都被保存着,可以通过 /resume 命令访问:

  • /resume <名称> —— 从终端按名称恢复一个会话
  • /rename —— 为当前会话取一个好记的名字(如"auth-refactor")
  • /stats —— 查看你的使用图表、连续使用记录和会话历史

当你同时处理多个功能,或想回到某个特定对话时,这非常有用。


7. 部署子智能体(Sub-agents)

子智能体是管理上下文的一种高级方式。它们是具有各自指令、上下文窗口和工具权限的专用 AI 助手。

例如,你可以设置不同的子智能体来分别负责代码审查、代码测试和更新文档。

你 ↔ 主 Claude(协调者)
    ├── 代码审查员(质量专家)
    ├── 测试工程师(测试专家)
    └── 文档编写者(技术写作专家)

当主 Claude 构建功能时,它会根据上下文分析智能地将请求路由到相应的子智能体,但你也可以在需要时显式地调用智能体。

每个子智能体维护自己的对话历史和上下文,因此你与主 Claude 的对话不会被子智能体的上下文填满。你还可以限制它们能使用的工具。

设置子智能体很简单,Claude 会帮你搞定!只需使用 /agents 命令,按照提示操作,告诉 Claude 你需要哪种子智能体即可。它们会以 Markdown 文件的形式出现在一个新的 agent 文件夹中。

你可以自由编辑这些文件。这也是一个添加更多上下文或文档的好地方。例如,你可以在子智能体中非常具体地说明如何进行代码审查,而将通用的编码规范放在共享文档中。

---
name: code-reviewer
description: 全面的代码质量和可维护性分析
tools: read, grep, diff, lint_runner
---

你是一位专业的代码审查员:

## 审查优先级(按顺序):
1. **逻辑错误和 Bug**,可能导致系统故障
2. **安全漏洞**和数据保护问题
3. **性能问题**,影响用户体验
4. **可维护性问题**,增加技术债务
5. **代码风格和一致性**,符合项目规范

## 审查流程:
- 分析代码的业务逻辑正确性
- 检查错误处理和边缘情况覆盖
- 验证适当的输入校验和净化
- 评估对现有功能的影响
- 评估测试覆盖率和质量

重要:只报告需要处理的重大问题,提供具体、可操作的改进建议。

使用模式: 当你完成一个功能的开发后,不要在同一个对话中既跑测试又做代码审查,而是将其交给子智能体。它们会处理好并将结果发回主对话,而不会填满主对话的上下文窗口。

动态子智能体

上述方法可以让你定义并保存子智能体以便频繁复用,但你也可以让 Claude 按需动态创建子智能体。

例如,如果我在开发一个调用外部 API 的功能,我会让 Claude 临时创建一个子智能体去获取该 API 的最新文档,并为我们的使用场景提炼精华,而不是把一堆文档研究内容塞满上下文窗口。

异步子智能体

子智能体现在可以在后台异步运行。在子智能体工作时按 Ctrl+B 将其移至后台,你可以继续做其他事情。

子智能体会持续独立运行,并在需要你关注或完成任务时唤醒主智能体。这使真正的并行开发成为可能:

  • 在后台启动一个代码审查子智能体
  • 在主对话中继续构建功能
  • 审查完成时收到通知

这改变了你与 Claude 的协作方式。你的主对话成为协调中枢,而工作在并行进行。多个智能体可以同时运行,只有当某件事真正需要你关注时,它们才会唤醒你的主线程。

Agent Teams(智能体团队)—— 研究预览

Agent Teams 将这一理念更进一步。与其手动协调子智能体,不如让 Claude 成为团队负责人。

当你启用 Agent Teams(目前仍是研究预览功能,需要设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1),Claude 可以生成独立的"队友"来同时处理问题的不同部分。与普通子智能体的区别在于,队友可以直接相互通信、共享任务清单,无需通过你的主对话中转,实现自我协调。

实际上是这样的。假设你在构建一个新的仪表盘功能,你告诉 Claude,它可能会这样分工:

你 ↔ 团队负责人 Claude(协调者)
    ├── 队友 1:构建 API 端点
    ├── 队友 2:创建 React 组件
    └── 队友 3:编写集成测试

每个队友独立工作,但他们知道其他人在做什么。如果队友 2 需要特定的 API 响应格式,它可以查看队友 1 正在构建的内容,而不必猜测。当一个队友完成或卡住时,它会通知团队负责人,由负责人协调后续步骤。

这很消耗 token(多个智能体同时燃烧上下文),所以要注意成本。但对于你通常需要分成多个连续会话来完成的大功能,这可以将数小时的反复沟通压缩成一次协调一致的构建过程。


8. 保存你的工作

此时,我们应该已经有了核心项目,并制定了适当的文档和上下文管理策略。这有助于 Claude 保持专注,但仍然无法阻止它犯错误。

如果你刚开始"氛围编码",可能已经经历过相当于蓝屏死机的时刻——出了问题,智能体无法修复,你不得不从头开始。如果还没遇到过,未雨绸缪总是好的。

Git 分支

为此,我们将使用 Git 来确保 Claude 不会破坏我们的核心代码。我不会在这里解释它是什么或如何工作(超出本教程范围),但可以说的是,它并不像听起来那么可怕,Claude 会帮你搞定。

操作方法:

  • 每次想开始一个新项目或功能时,先让 Claude 创建一个新分支。这相当于把你放入代码的一个新"版本",任何改动都被隔离在这个分支中,不会影响 main 分支。这意味着如果你把一切都搞砸了,只需切回 main 并删除这个分支即可。
  • Claude 完成后,让它测试应用。我们之后会介绍测试策略,但现在让 Claude 做它默认的测试。你自己也应该运行应用看看是否有错误。
  • 如果一切正常,让 Claude 根据需要更新文档(如前所述),然后让它提交改动。
  • 如果这是一个多部分功能,重复以上步骤。全部完成并满意后,告诉 Claude 将其合并回 main 分支。

看,没那么难吧?让我们增加点复杂度。

Git Worktrees(工作树)

Git Worktrees 允许你同时检出多个分支,每个分支在自己的目录中。结合 Claude Code,这意味着:

  • 多个 Claude 实例可以并行处理不同功能
  • 每个 Claude 维护自己的对话上下文和项目理解
  • 没有上下文切换的开销或进度损失
  • 真正的并行开发,没有冲突

目录结构大概是这样的:

~/finance-tracker/              # 主仓库
├── .git/                       # 共享 Git 数据库
├── src/
├── CLAUDE.md
└── package.json

~/finance-tracker-budgets/      # 预算功能的工作树
├── .git → ../finance-tracker-pro/.git  # 链接到主仓库
├── src/                        # 独立的文件状态
├── CLAUDE.md                   # 相同的项目知识
└── package.json               # 可能是不同的依赖

~/finance-tracker-reports/      # 报表功能的工作树
├── .git → ../finance-tracker-pro/.git
├── src/
└── ...

创建工作树,你可以让 Claude 来做,也可以自己动手:

# 从主项目目录
cd finance-tracker

# 为预算功能创建工作树
git worktree add ../finance-tracker-budgets -b feature/budget-system

# 为报表功能创建工作树
git worktree add ../finance-tracker-reports -b feature/reporting-dashboard

# 列出所有工作树
git worktree list

然后,在每个目录中启动新的 Claude:

# 终端 1:预算功能
cd ../finance-tracker-budgets
claude --dangerously-skip-permissions

# 终端 2:报表功能(新开终端窗口)
cd ../finance-tracker-reports
claude --dangerously-skip-permissions

# 终端 3:主开发(新开终端窗口)
cd finance-tracker
claude

我们跳过了权限确认,这样 Claude 可以不等我们直接执行。这没关系,因为任何搞砸的地方都会被隔离在该工作树中。

合并回 main 时,Claude 可以帮助处理任何合并冲突。

检查点(Checkpoints)

有时候我会在 main 上做了一堆改动,或者 Claude 有点急躁,我只是问了一个问题它就做了改动。如果发生这种情况,而你不喜欢这些改动,只需在对话中回退即可。

输入 /rewind,你会看到当前会话中发送给 Claude 的消息列表。选择你在 Claude 变得"手痒"之前发送的那条消息,你就会回到那个时间点,就好像那些改动从未发生过一样。


9. 自定义斜杠命令

我已经向你介绍了各种斜杠命令,在与 Claude 聊天时输入 / 就可以看到它们。列表中的命令是 Claude 的默认命令,但你也可以创建自己的!

自定义斜杠命令让你可以将团队或项目特有的可重复流程和工作流编码化。

首先设置一个文件夹来存储自定义命令(以 Markdown 文件形式):

mkdir -p .claude/commands

在该文件夹中为每个自定义命令创建 Markdown 文件。例如,你可能想要一个审查整个代码库的命令:

创建 /review 命令(.claude/commands/review.md):

对近期改动执行全面的代码审查:

1. 检查代码是否符合我们的 TypeScript 和 React 规范
2. 验证适当的错误处理和加载状态
3. 确保满足无障碍(accessibility)标准
4. 审查新功能的测试覆盖率
5. 检查安全漏洞
6. 验证性能影响
7. 确认文档已更新

使用我们既定的代码质量检查清单,并将发现的新模式更新到 CLAUDE.md 中。
团队命令共享

存储在 .claude/commands/ 中的自定义命令,当团队成员克隆你的仓库时会自动共享。这在整个开发团队中创建了一致的工作流。

现在你可以在开发过程中随时输入 /review 来执行这个工作流。

让 Claude 替你创建命令

你完全可以直接让 Claude 来创建自定义斜杠命令。作为课后作业,试着让它创建一个叫 /branch 的命令,调用时检查当前 git 状态,如果一切正常,就创建一个新的 git 分支并切换进去。

从此以后,每次开始新功能时,只需输入 /branch 就搞定了!


10. 模型上下文协议(MCP)服务器

MCP(Model Context Protocol)是 Anthropic 的开放标准,用于将 AI 助手连接到外部工具和数据源。可以把它想象成通用连接器,让 Claude Code 能够与你开发工作流中的任何系统交互——Jira、GitHub,等等。

想深入了解 MCP 是什么、如何工作,请参阅我的完整教程。

常用 MCP 服务器

添加新的 MCP 服务器,在终端输入:

# 网络搜索能力
claude mcp add brave-search -s project -- npx @modelcontextprotocol/server-brave-search

检查 MCP 状态:

/mcp

使用 MCP 服务器:

搜索金融数据安全最佳实践,并在我们的 API 中实施适当的措施。

现在 Claude 可以搜索当前的最佳实践并将其实现到你的代码中了。

MCP 服务器有很多,你也可以自己创建。使用官方服务器(Anthropic 网站上列出的)或在必要时构建自己的。

在我的许多项目中,我使用 Supabase 作为数据库,所以我有一个自定义的 MCP 设置,允许 Claude Code 访问我的数据库。

Puppeteer 也是一个不错的选择,它允许 Claude 访问网站、导航并截图,这对调试你自己的应用很有用。

想要更紧密的浏览器集成,请参阅后文介绍的 Claude in Chrome 扩展。


11. Claude Skills(技能包)

技能(Skill)是一套 Claude 可以按需反复运行的指令和/或代码。它们有点像自定义斜杠命令,但更强大。

假设你想在每次推送新功能时通过 Slack 更新团队。你可能已经设置了 Slack MCP 或自定义脚本,但每次都得告诉 Claude 运行这个流程。

现在你只需把这些指令打包成一个技能。从技能的元数据,Claude 就知道在你推送代码时使用该技能,并自动完成这一切。

比 MCP 更好的地方在于:它不会消耗你的上下文。MCP 在每次会话开始时就会加载,不必要地占用上下文窗口。

想深入了解,请阅读我的完整 Claude Skills 教程。关于能做到什么程度,可以看看我们如何从 Lenny's podcast 中构建了 86 个可下载技能。


12. 插件系统与插件市场

插件是技能之后的下一个演进。技能是你在本地创建的指令集,插件是你可以从市场安装的打包扩展——相当于 Claude Code 的 npm。

Anthropic 在 2025年12月 正式推出了插件市场,首批提供 36 个精选插件。插件可以捆绑:

  • 自定义命令
  • 专业智能体
  • Hooks
  • MCP 服务器

浏览和安装插件:

/plugins

你会看到一个按类别组织的可用插件可搜索列表。官方市场包括代码智能插件、部署助手和工作流自动化工具。

我最喜欢的是 frontend-design 插件,我用它来设计了这个博客。

安装和管理插件

# 安装插件
/plugins install typescript-lsp

# 列出已安装的插件
/plugins list

# 更新所有插件
/plugins update

你可以为每个市场启用自动更新,这样插件无需手动干预即可保持最新。

社区市场

除了 Anthropic 官方市场,社区驱动的市场也在涌现。你可以添加额外的市场来源,从更广泛的生态系统中发现插件。

插件系统仍然年轻,但它已经在解决实际问题了——从实时类型检查到 GitHub、数据库和部署的直接服务集成。

一个值得一提的插件是 ralph-wiggum,它可以让 Claude 在夜间自主循环运行。你定义一个任务列表,Claude 迭代地完成它,每个功能完成后提交。我写了一篇完整的分析,介绍它的工作原理和适用场景。


13. Hooks —— 确定性自动化

Hooks 是用户定义的 Shell 命令,在 Claude Code 生命周期的特定时刻自动执行。它们提供有保证的自动化,不依赖于 Claude"记住"要做某件事。

  • PreToolUse —— 在 Claude 执行任何工具(文件编辑、命令)之前
  • PostToolUse —— 工具成功完成后
  • Notification —— 当 Claude 发送通知时
  • Stop —— Claude 完成任务时执行
  • Sub-agent Stop —— 子智能体完成任务时执行

输入 /hooks 来设置 Hooks。你会被要求从上述选项中选择一个。如果选择 Pre 或 Post 工具使用,你需要先指定使用哪个工具,再添加 Hook。

例如,当 Claude 完成写入文件后,你可以设置一个 PostToolUse Hook 来更新你的文档。


14. Chrome 浏览器控制

还记得我提到的用于浏览器自动化的 Puppeteer 吗?现在 Claude Code 有了原生的 Chrome 集成,功能更加强大。

连接 Claude in Chrome 扩展,Claude 可以直接从终端控制你的浏览器:

  • 导航页面、点击按钮、填写表单
  • 读取控制台日志和监控网络请求
  • 不离开终端就能测试你的应用

启用 Chrome 集成:

/chrome

或者在启动 Claude Code 时使用标志:

claude --chrome

这对于调试非常有用。Claude 可以写代码,然后立即在浏览器中测试,看到错误并迭代——所有这些都在一个工作流中完成。不再需要在终端和浏览器之间来回切换。

当我构建博客并从 WordPress 迁移时,我让 Claude 浏览我的旧网站,将每一个页面与我正在构建的新页面进行对比,以确保一致性。这本来需要我花几天时间,但 Claude 在几分钟内就完美地完成了。


15. 构建测试策略

与其手动设置测试框架和编写样板代码,不如描述你的测试理念,让 Claude Code 构建整个基础设施。

让我们系统地处理测试。从这段对话开始:

我想为我们的财务追踪器构建无懈可击的测试。我的想法是:

- 对所有工具函数(货币格式化、日期计算、验证)进行单元测试
- 使用 React Testing Library 对每个 UI 组件进行组件测试
- 对 API 端点进行集成测试,并有适当的数据库设置/清理
- 对关键用户流程(添加交易记录、查看报表)进行端到端测试
- 随着数据增长,进行性能测试以确保应用保持速度

搭建测试基础设施并配置好,然后为我们现有的功能编写全面的测试。我希望对改动不会破坏任何东西充满信心。

Claude 会分析你现有的代码库以了解测试需求,安装和配置各种包,并为你的财务追踪器创建专用的测试工具。

真正令人印象深刻的是 Claude Code 如何创建真正反映你的业务逻辑的测试。它理解一个财务应用需要处理货币、负数和数据验证方面的边界情况。


16. 搭建生产级 CI/CD

现在让我们解决部署自动化。试试这样的提示:

我需要为我们的财务追踪器构建一个坚如磐石的 CI/CD 流水线。我希望发生的事:

每次 Pull Request:
- 运行完整的测试套件(单元测试、集成测试、端到端测试)
- 检查 TypeScript 编译
- 用 Prettier 验证代码格式
- 用 ESLint 检查代码质量问题
- 成功构建生产包
- 对依赖项运行安全审计
- 检查任何破坏性变更

main 分支合并时:
- PR 检查中的所有内容
- 自动部署到预发布(staging)环境
- 在预发布环境跑冒烟测试
- 发送关于部署状态的 Slack 通知

打标签发布时:
- 零停机时间部署到生产环境
- 运行部署后健康检查
- 更新监控仪表盘

让这套流程无懈可击——我不希望有损坏的代码进入生产环境。

Claude Code 会创建一个专为你的应用量身定制的全面 GitHub Actions 工作流。它还会创建工作流中引用的 npm 脚本,设置特定环境的配置,甚至为你特定的托管平台创建部署脚本。

如果你使用不同的托管服务或有特定需求,只需告诉 Claude,它会相应调整整个流水线。例如,我使用 Vercel,Claude 对此非常熟悉,部署就变得轻而易举。


17. 性能优化

假设你的财务追踪器随着交易数据增多开始变得迟缓。以下是用 Claude Code 系统性处理优化的方法:

我们的财务追踪器随着用户添加更多交易记录变得越来越慢。我发现了以下具体问题:

- 用户有 1000+ 条交易记录时,仪表盘加载需要 3 秒以上
- 交易记录列表的滚动感觉很卡
- 我们的包体积已经增长到超过 1MB
- 交易查询的 API 响应时间超过 400ms

我想系统地优化这些问题。先做性能审计——分析我们的包体积,找出数据库查询瓶颈,发现前端性能问题。然后优先实施影响最大的优化措施。

我希望看到我们改动的前后对比指标。

你会看到 Claude 先规划,将其拆解成多个步骤,然后迭代完成,直到搞定。最后你会看到改进效果和前后对比指标作为证明!


18. Claude Code Web、移动端与桌面端

CLI 并不是访问 Claude Code 的唯一方式。如果你使用 claude.ai 上的 Claude 网页应用,你可能注意到侧边栏有一个 </> 图标。这就是云端的 Claude Code。

点击它,你会被要求连接你的 GitHub 账号。完成后,你会看到如下界面:

这个版本的 Claude Code 允许真正的自主编码。它的功能不如 CLI 全面,但没关系,因为它的用途不同。

这个版本的主要用途是执行不需要你主动参与的任务,或者复杂的编码工作——比如修复 Bug、撰写文档、小的网站调整等等。

当你在应用中开始一个对话并让 Claude 做某件事时,它会将你的 Git 仓库克隆到虚拟沙箱中并开始写代码。它可以自主运行直到任务完成,届时你可以创建 Pull Request 并审查工作成果。如果好,合并进 main。如果不好,丢弃即可。

这意味着你现在可以让 Claude 在后台远程为你工作了。它在网页应用、移动应用和桌面应用(还有在本地而非仅在云端工作的额外优势)上都能运行。

想象一下你在咖啡馆,有人反馈你的应用有一个小 Bug。你掏出手机,打开 Claude 应用的 Code 板块,让它诊断并修复这个 Bug。

喝完咖啡后,Claude 通知你已完成。你看一下代码,确认没问题,推送到生产环境——Bug 修复完毕!

在本地与云端之间传送(Teleport)

你还可以在终端和云端之间无缝地移动工作:

将任务发送到云端:

& 开头的消息会发送到 Claude Code Web 运行,同时你在本地继续工作:

& 重构身份认证模块
& 修复 auth.spec.ts 中的不稳定测试
& 更新 API 文档

每个命令都会创建自己的独立 Web 会话。你可以同时启动多个任务,它们会并行运行。

将云端会话拉回终端:

当云端会话完成(或你想接手时),使用 teleport 将其拉回本地:

claude --teleport session_abc123

或者使用 /tasks 查看正在运行的后台会话,按 t 传送进入其中。在网页界面,你可以点击"Open in CLI"来复制传送命令。

这对大型任务非常强大。在云端启动一次重构,去喝个咖啡,然后将其拉回本地审查并收尾。

注意: 会话传送目前只支持单向传送(云端 → 本地)。Claude Code 网页版也只支持托管在 GitHub 上的仓库,且你需要安装 GitHub 应用。


19. Claude Code 最新动态(2026年春)

Claude Code 的发展速度非常快。以下是 2026年2月到4月之间发布的值得关注的更新,如果你最近没看更新日志,这里帮你补课。

功能说明
新模型Opus 4.6 和 Sonnet 4.6 均针对智能体编码和工具调用进行了调优
/recap为空闲会话生成"你离开期间发生了什么"的摘要
/powerup有动画效果的 CLI 内演示,通过引导你实操来教授各项功能
/team-onboarding根据你的使用模式为新队友生成上手指南
Windows PowerShell 支持原生 Windows Shell 支持(选择性预览),带有正确的权限处理
1小时提示缓存设置 ENABLE_PROMPT_CACHING_1H=1 启用更长的缓存条目
更多 Hook 事件TaskCreatedCwdChangedFileChangedPermissionDeniedPreCompact
插件更有威力插件可以打包可执行文件、注册后台监控器、提示配置
技能可以调用斜杠命令Skill 工具现在可以调用内置命令如 /init/review
--bare剥离 Hooks、LSP、插件同步,用于快速 SDK 调用
Bedrock 和 Vertex 设置向导企业级认证的交互式设置流程
Claude Code Security漏洞识别能力(研究预览)

还有更多——完整的更新日志在 github.com/anthropics/claude-code——但以上是真正改变了我日常使用方式的更新。


20. Claude Code 最佳实践

本教程涵盖了很多内容。以下是我从数月的日常使用中提炼出的最佳实践精华:

上下文管理

  • 每次对话只专注于一个功能。完成后清空上下文。
  • 在任务进行中但上下文不足时,带上具体指令使用 /compact
  • 保持 CLAUDE.md 文件精简聚焦。将详细规范指向文档,而不是内联进去。

项目设置

  • 在每个新项目上先运行 /init,再做其他任何事。
  • 为较大的代码库设置分层 CLAUDE.md 文件(前端、后端、文档)。
  • 将 CLAUDE.md 文件提交到版本控制,让整个团队受益。

分支与安全

  • 开始功能前始终创建新分支,永远不要直接在 main 上工作。
  • Claude 一偏离轨道就立刻使用 /rewind。不要试图修补一条错误的路,直接回退。
  • 使用 Git Worktrees 与多个 Claude 实例并行开发功能。

提示技巧

  • 复杂功能从计划模式开始。让 Claude 在写一行代码前先提出澄清性问题。
  • 对你想要什么要具体,但不要微管理怎么做。Claude 在实现细节上比你想象的更出色。
  • 使用 # 命令来强化你喜欢的模式、抑制不喜欢的模式,随时积累项目记忆。

高级工作流

  • 为代码审查、测试、文档等可重复任务设置子智能体。
  • 使用 Hooks 来自动化任何 Claude 不应该靠"记住"来完成的事。
  • & 将长时间运行的任务发送到云端,本地继续工作。

21. 结语:从代码助手到开发伙伴

今天就到这里!

如果你跟着教程走完了,你应该拥有一个可以部署到世界上的可用应用。当我(在我的视频中可以看到)只用很少的输入运行它时,它一次性构建出了一个功能完整、没有错误或 Bug 的应用。

这令人惊叹,这也是为什么人们如此喜爱它的原因。Claude 模型在编码上本就处于最先进水平(SOTA),而 Claude Code 让它具备了智能体能力,达到了一位不错的中级软件工程师的水平。

这意味着,你可以通过纯粹的提示来依赖它构建一个功能完整且安全的应用(尤其是如果你使用了我提到的高级工作流)!

我认为这相当疯狂。


原文版权归 Sid Bharath 所有
原文地址:sidbharath.com/blog/claude…
本译文仅供学习交流使用,如有侵权请联系删除。