Skip to main content
本页涵盖日常开发的实用工作流程:探索陌生代码、调试、重构、编写测试、创建 PR 和管理会话。每个部分都包含示例提示,您可以根据自己的项目进行调整。有关更高级的模式和提示,请参阅最佳实践

1. 理解新代码库

快速获取代码库概览

假设您刚加入一个新项目,需要快速了解其结构。
1

导航到项目根目录

2

启动 Claude Code

3

请求高级概览

4

深入了解特定组件

提示:
  • 从广泛的问题开始,然后缩小到特定领域
  • 询问项目中使用的编码约定和模式
  • 请求项目特定术语的词汇表

查找相关代码

假设您需要定位与特定功能相关的代码。
1

要求 Claude 查找相关文件

2

获取有关组件如何交互的上下文

3

理解执行流程

提示:
  • 明确说明您要查找的内容
  • 使用项目中的领域语言
  • 为您的语言安装代码智能插件,以便为 Claude 提供精确的”转到定义”和”查找引用”导航

2. 高效修复错误

假设您遇到了错误消息,需要找到并修复其来源。
1

与 Claude 分享错误

2

请求修复建议

3

应用修复

提示:
  • 告诉 Claude 重现问题的命令并获取堆栈跟踪
  • 提及重现错误的任何步骤
  • 让 Claude 知道错误是间歇性的还是持续的

3. 重构代码

假设您需要更新旧代码以使用现代模式和实践。
1

识别用于重构的遗留代码

2

获取重构建议

3

安全地应用更改

4

验证重构

提示:
  • 要求 Claude 解释现代方法的优势
  • 请求在需要时保持向后兼容性的更改
  • 以小的、可测试的增量进行重构

4. 使用专门的 subagents

假设您想使用专门的 AI subagents 来更有效地处理特定任务。
1

查看可用的 subagents

这显示所有可用的 subagents 并让您创建新的。
2

自动使用 subagents

Claude Code 自动将适当的任务委派给专门的 subagents:
3

明确请求特定的 subagents

4

为您的工作流程创建自定义 subagents

然后选择”Create New subagent”并按照提示定义:
  • 描述 subagent 目的的唯一标识符(例如,code-reviewerapi-designer)。
  • Claude 何时应使用此 agent
  • 它可以访问哪些工具
  • 描述 agent 角色和行为的系统提示
提示:
  • .claude/agents/ 中创建项目特定的 subagents 以供团队共享
  • 使用描述性的 description 字段来启用自动委派
  • 限制工具访问权限为每个 subagent 实际需要的内容
  • 查看subagents 文档了解详细示例

5. 使用 Plan Mode 进行安全的代码分析

Plan Mode 指示 Claude 通过使用只读操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。在 Plan Mode 中,Claude 使用 AskUserQuestion 来收集需求并在提出计划之前澄清您的目标。

何时使用 Plan Mode

  • 多步骤实现:当您的功能需要编辑许多文件时
  • 代码探索:当您想在更改任何内容之前彻底研究代码库时
  • 交互式开发:当您想与 Claude 迭代方向时

如何使用 Plan Mode

在会话期间打开 Plan Mode 您可以在会话期间使用 Shift+Tab 循环切换权限模式来切换到 Plan Mode。 如果您处于 Normal Mode,Shift+Tab 首先切换到 Auto-Accept Mode,在终端底部显示 ⏵⏵ accept edits on。随后的 Shift+Tab 将切换到 Plan Mode,显示 ⏸ plan mode on。当agent team处于活动状态时,循环还包括 Delegate Mode。 在 Plan Mode 中启动新会话 要在 Plan Mode 中启动新会话,请使用 --permission-mode plan 标志:
在 Plan Mode 中运行”无头”查询 您也可以直接在 Plan Mode 中使用 -p 运行查询(即在”无头模式”中):

示例:规划复杂的重构

Claude 分析当前实现并创建全面的计划。通过后续问题进行细化:
Ctrl+G 在默认文本编辑器中打开计划,您可以在 Claude 继续之前直接编辑它。

将 Plan Mode 配置为默认值

有关更多配置选项,请参阅设置文档

6. 使用测试

假设您需要为未覆盖的代码添加测试。
1

识别未测试的代码

2

生成测试框架

3

添加有意义的测试用例

4

运行并验证测试

Claude 可以生成遵循您项目现有模式和约定的测试。请求测试时,请明确说明您想验证的行为。Claude 检查您现有的测试文件以匹配已在使用的样式、框架和断言模式。 为了获得全面的覆盖,要求 Claude 识别您可能遗漏的边界情况。Claude 可以分析您的代码路径并建议测试错误条件、边界值和容易被忽视的意外输入。

7. 创建 pull requests

您可以直接要求 Claude 创建 pull requests(“create a pr for my changes”)或使用 /commit-push-pr skill,它在一个步骤中提交、推送和打开 PR。
如果您配置了 Slack MCP server 并在 CLAUDE.md 中指定了频道(例如,“post PR URLs to #team-prs”),该 skill 会自动将 PR URL 发布到这些频道。 为了更好地控制流程,逐步指导 Claude 完成或创建您自己的 skill
1

总结您的更改

2

生成 pull request

3

审查和细化

当您使用 gh pr create 创建 PR 时,会话会自动链接到该 PR。您可以稍后使用 claude --from-pr <number> 恢复它。
在提交前审查 Claude 生成的 PR,并要求 Claude 突出显示潜在的风险或注意事项。

8. 处理文档

假设您需要为代码添加或更新文档。
1

识别未记录的代码

2

生成文档

3

审查和增强

4

验证文档

提示:
  • 指定您想要的文档样式(JSDoc、docstrings 等)
  • 要求文档中包含示例
  • 请求公共 API、接口和复杂逻辑的文档

9. 使用图像

假设您需要在代码库中使用图像,并希望 Claude 帮助分析图像内容。
1

将图像添加到对话中

您可以使用以下任何方法:
  1. 将图像拖放到 Claude Code 窗口中
  2. 复制图像并使用 ctrl+v 将其粘贴到 CLI 中(不要使用 cmd+v)
  3. 向 Claude 提供图像路径。例如,“Analyze this image: /path/to/your/image.png”
2

要求 Claude 分析图像

3

使用图像获取上下文

4

从视觉内容获取代码建议

提示:
  • 当文本描述不清楚或繁琐时使用图像
  • 包含错误、UI 设计或图表的屏幕截图以获得更好的上下文
  • 您可以在对话中使用多个图像
  • 图像分析适用于图表、屏幕截图、模型等
  • 当 Claude 引用图像时(例如,[Image #1]),Cmd+Click(Mac)或 Ctrl+Click(Windows/Linux)链接以在默认查看器中打开图像

10. 引用文件和目录

使用 @ 快速包含文件或目录,无需等待 Claude 读取它们。
1

引用单个文件

这在对话中包含文件的完整内容。
2

引用目录

这提供了带有文件信息的目录列表。
3

引用 MCP 资源

这使用 @server:resource 格式从连接的 MCP servers 获取数据。有关详细信息,请参阅 MCP 资源
提示:
  • 文件路径可以是相对的或绝对的
  • @ 文件引用在文件的目录和父目录中添加 CLAUDE.md 到上下文
  • 目录引用显示文件列表,而不是内容
  • 您可以在单个消息中引用多个文件(例如,“@file1.js and @file2.js”)

11. 使用扩展思考(Thinking Mode)

扩展思考默认启用,为 Claude 提供空间在响应前逐步推理复杂问题。这种推理在详细模式中可见,您可以使用 Ctrl+O 切换。 此外,Opus 4.6 引入了自适应推理:不是固定的思考令牌预算,而是模型根据您的困难级别设置动态分配思考。扩展思考和自适应推理一起工作,让您可以控制 Claude 在响应前的推理深度。 扩展思考对于复杂的架构决策、具有挑战性的错误、多步骤实现规划和评估不同方法之间的权衡特别有价值。
“think”、“think hard”、“ultrathink” 和 “think more” 等短语被解释为常规提示指令,不分配思考令牌。

配置 Thinking Mode

默认启用思考,但您可以调整或禁用它。 要查看 Claude 的思考过程,按 Ctrl+O 切换详细模式,并查看显示为灰色斜体文本的内部推理。

扩展思考如何工作

扩展思考控制 Claude 在响应前执行多少内部推理。更多思考提供更多空间来探索解决方案、分析边界情况和自我纠正错误。 使用 Opus 4.6,思考使用自适应推理:模型根据您选择的努力级别(低、中、高)动态分配思考令牌。这是调整速度和推理深度之间权衡的推荐方式。 使用其他模型,思考使用固定预算,最多 31,999 个令牌来自您的输出预算。您可以使用 MAX_THINKING_TOKENS 环境变量限制此,或通过 /configOption+T/Alt+T 切换完全禁用思考。 当使用 Opus 4.6 时,MAX_THINKING_TOKENS 被忽略,因为自适应推理控制思考深度。唯一的例外:设置 MAX_THINKING_TOKENS=0 仍然在任何模型上完全禁用思考。
您需要为所有使用的思考令牌付费,即使 Claude 4 模型显示总结的思考

12. 恢复以前的对话

启动 Claude Code 时,您可以恢复以前的会话:
  • claude --continue 继续当前目录中最近的对话
  • claude --resume 打开对话选择器或按名称恢复
  • claude --from-pr 123 恢复链接到特定 pull request 的会话
从活动会话内,使用 /resume 切换到不同的对话。 会话按项目目录存储。/resume 选择器显示来自同一 git 存储库的会话,包括 worktrees。

命名您的会话

给会话起描述性名称以便稍后找到它们。这是在处理多个任务或功能时的最佳实践。
1

命名当前会话

在会话期间使用 /rename 给它一个易记的名称:
您也可以从选择器重命名任何会话:运行 /resume,导航到会话,然后按 R
2

稍后按名称恢复

从命令行:
或从活动会话内:

使用会话选择器

/resume 命令(或 claude --resume 不带参数)打开具有以下功能的交互式会话选择器: 选择器中的键盘快捷键: 会话组织: 选择器显示带有有用元数据的会话:
  • 会话名称或初始提示
  • 自上次活动以来经过的时间
  • 消息计数
  • Git 分支(如果适用)
分叉的会话(使用 /rewind--fork-session 创建)在其根会话下分组,使查找相关对话更容易。
提示:
  • 尽早命名会话:在开始处理不同任务时使用 /rename——稍后找到”payment-integration”比”explain this function”容易得多
  • 使用 --continue 快速访问当前目录中最近的对话
  • 当您知道需要哪个会话时使用 --resume session-name
  • 当您需要浏览和选择时使用 --resume(不带名称)
  • 对于脚本,使用 claude --continue --print "prompt" 以非交互模式恢复
  • 在选择器中按 P 在恢复前预览会话
  • 恢复的对话以与原始对话相同的模型和配置开始
工作原理:
  1. 对话存储:所有对话都自动保存在本地,包含完整的消息历史
  2. 消息反序列化:恢复时,整个消息历史被恢复以保持上下文
  3. 工具状态:来自以前对话的工具使用和结果被保留
  4. 上下文恢复:对话以所有以前的上下文完整恢复

13. 使用 Git worktrees 运行并行 Claude Code 会话

假设您需要同时处理多个任务,并在 Claude Code 实例之间完全隔离代码。
1

理解 Git worktrees

Git worktrees 允许您从同一存储库中检出多个分支到单独的目录中。每个 worktree 都有自己的工作目录,文件隔离,同时共享相同的 Git 历史。在官方 Git worktree 文档中了解更多。
2

创建新的 worktree

这创建了一个新目录,其中包含存储库的单独工作副本。
3

在每个 worktree 中运行 Claude Code

4

在另一个 worktree 中运行 Claude

5

管理您的 worktrees

提示:
  • 每个 worktree 都有自己的独立文件状态,非常适合并行 Claude Code 会话
  • 在一个 worktree 中所做的更改不会影响其他 worktree,防止 Claude 实例相互干扰
  • 所有 worktrees 共享相同的 Git 历史和远程连接
  • 对于长期运行的任务,您可以在一个 worktree 中让 Claude 工作,同时在另一个 worktree 中继续开发
  • 使用描述性目录名称来轻松识别每个 worktree 的任务
  • 记住根据您的项目设置在每个新 worktree 中初始化您的开发环境。根据您的堆栈,这可能包括:
    • JavaScript 项目:运行依赖项安装(npm installyarn
    • Python 项目:设置虚拟环境或使用包管理器安装
    • 其他语言:遵循您项目的标准设置流程
有关具有共享任务和消息的并行会话的自动协调,请参阅 agent teams

14. 将 Claude 用作 unix 风格的实用程序

将 Claude 添加到您的验证流程

假设您想使用 Claude Code 作为 linter 或代码审查工具。 将 Claude 添加到您的构建脚本:
提示:
  • 在 CI/CD 管道中使用 Claude 进行自动代码审查
  • 自定义提示以检查与您的项目相关的特定问题
  • 考虑为不同类型的验证创建多个脚本

管道输入、管道输出

假设您想将数据管道输入 Claude,并以结构化格式获取数据。 通过 Claude 管道数据:
提示:
  • 使用管道将 Claude 集成到现有 shell 脚本中
  • 与其他 Unix 工具结合以实现强大的工作流程
  • 考虑使用 —output-format 获得结构化输出

控制输出格式

假设您需要 Claude 的输出采用特定格式,特别是在将 Claude Code 集成到脚本或其他工具时。
1

使用文本格式(默认)

这仅输出 Claude 的纯文本响应(默认行为)。
2

使用 JSON 格式

这输出包含元数据(包括成本和持续时间)的消息的 JSON 数组。
3

使用流式 JSON 格式

这在 Claude 处理请求时实时输出一系列 JSON 对象。每条消息都是有效的 JSON 对象,但如果连接,整个输出不是有效的 JSON。
提示:
  • 对于简单集成(您只需要 Claude 的响应),使用 --output-format text
  • 当您需要完整的对话日志时使用 --output-format json
  • 对于每个对话轮次的实时输出,使用 --output-format stream-json

15. 询问 Claude 其功能

Claude 内置访问其文档,可以回答有关其自身功能和限制的问题。

示例问题

Claude 基于文档为这些问题提供答案。有关可执行示例和实际演示,请参阅上面的特定工作流程部分。
提示:
  • Claude 始终可以访问最新的 Claude Code 文档,无论您使用的版本如何
  • 提出具体问题以获得详细答案
  • Claude 可以解释复杂功能,如 MCP 集成、企业配置和高级工作流程

后续步骤

最佳实践

从 Claude Code 中获得最大收益的模式

Claude Code 如何工作

理解 agentic 循环和上下文管理

扩展 Claude Code

添加 skills、hooks、MCP、subagents 和 plugins

参考实现

克隆我们的开发容器参考实现
Last modified on February 12, 2026