序言
Claude Code 将大语言模型带入终端,让 AI 真正成为开发中的协作伙伴。但它的价值取决于你是否懂得管理上下文、善用记忆与自定义命令,并理解规划与思考模式的适用场景。
本文从安装开始,系统介绍 Claude Code 的核心用法:上下文管理、代码修改、对话控制、记忆文件、自定义命令以及 MCP 服务器扩展。内容注重可操作性,配以大量实例,帮助你快速将 Claude Code 融入真实项目。
无论你是初次接触,还是希望优化现有工作流,这篇指南都值得一读。
下载安装
Install Claude CodeMacOS (Homebrew): brew install --cask claude-code- MacOS、Linux、WSL:
curl -fsSL https://claude.ai/install.sh | bash - Windows 命令提示符:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
- 安装完成后,
claude在终端运行此命令。首次运行此命令时,系统会提示您进行身份验证。
添加上下文
在使用 Claude 进行编码项目时,上下文管理至关重要。项目可能包含数十甚至数百个文件,而 Claude 只需要正确的信息上下文,过多的无关上下文实际上会降低 Claude 的性能,因此学习如何引导它找到相关的文件和文档至关重要。
/init 命令
首次在新项目中启动 Claude 时,需要运行/init命令以指示 Claude 分析整个代码库来了解:
- 项目的目的和构造
- 重要命令和关键文件
- 编码模式和结构
Claude 分析完你的代码后,会生成一份摘要并将其写入CLAUDE.md文件。当 Claude 请求创建此文件时,可以按 Enter 键批准每次写入操作,或者按 Shift+Tab 键允许 Claude 在整个会话期间自由写入文件。
CLAUDE.md 文件
CLAUDE.md文件主要有两个用途:
- 引导 Claude 浏览代码库,指出重要的命令、架构和编码风格
- 给 Claude 提供具体或自定义的指示
这个文件会包含在我们向 Claude 发出的每个请求中,所以它就像项目中一个持久存在的系统提示符。
CLAUDE.md 文件位置
Claude 会识别出CLAUDE.md位于三个常见位置的三个不同文件:
- CLAUDE.md - 使用 /init 生成,已提交到源代码控制系统,并与其他工程师共享
- CLAUDE.local.md - 未与其他工程师共享,包含 Claude 的个人说明和自定义设置。
- ~/.claude/CLAUDE.md - 用于计算机上的所有项目,包含您希望 Claude 在所有项目中遵循的指令
添加自定义说明
可以通过在文件中添加指令来自定义 Claude 的行为CLAUDE.md。例如,如果 Claude 向代码添加了过多注释,您可以通过更新文件来解决此问题。
使用#命令进入“内存模式”——这样你就可以CLAUDE.md智能地编辑文件。只需输入类似这样的命令:
1 | # Use comments sparingly. Only comment complex code. |
Claude 会自动将此指令合并到相关CLAUDE.md文件中。
文件提及(使用“@”)
当需要 Claude 查看特定文件时,请使用@符号后跟文件路径。这样会自动将该文件的内容包含在发送给 Claude 的请求中。
例如,如果想查询身份验证系统,并且知道相关文件,可以输入:
1 | How does the auth system work? @auth |
Claude 会显示一个与身份验证相关的文件列表供选择,然后将选定的文件包含对话中。
CLAUDE.md 中的文件引用
也可以CLAUDE.md使用相同的@语法直接在文件中引用文件。这对于与项目多个方面都相关的文件尤其有用。
例如,如果有一个定义数据结构的数据库模式文件,可以将以下内容添加到相关文件中CLAUDE.md:
1 | The database schema is defined in the @prisma/schema.prisma file. Reference it anytime you need to understand the structure of data stored in the database. |
以这种方式提及文件时,其内容会自动包含在每个请求中,因此 Claude 可以立即回答有关您的数据结构的问题,而无需每次都搜索和读取模式文件。
做出改变
在开发环境中使用 Claude 时,我们经常需要对现有项目进行修改。在修改过程中,我们可以使用屏幕截图进行可视化的沟通或者利用 Claude 的高级推理功能。
利用屏幕截图进行精准沟通
与 Claude 沟通最有效的方法之一就是使用屏幕截图。当我们想修改界面上的某个特定部分时,截图可以帮助 Claude 准确理解你的意思。
要在 Claude 中粘贴屏幕截图,可以使用快捷键Ctrl+V(Cmd+VmacOS 除外)。此快捷键专为将屏幕截图粘贴到聊天界面而设计。粘贴图像后,可以让 Claude 对应用程序的相应区域进行特定更改。
规划模式
对于需要对整个代码库进行广泛研究的更复杂任务,可以启用规划模式。此功能会让 Claude 在实施更改之前对相关项目进行彻底的探索。
按下Shift + Tab两次(如果已启用自动接受编辑,则只需按下一次)即可启用规划模式。在此模式下,Claude 将:
- 阅读项目中的更多文件
- 制定详细的实施计划
- 向你展示它的具体用途。
- 等待用户的批准后再继续
这样我们就有机会审查计划,如果计划遗漏了重要内容或没有考虑到特定情况,可以重新指导Claude。
思维模式
Claude通过不同的“思考”模式提供不同层次的推理。这些模式使Claude能够在提供解决方案之前,花更多时间思考复杂问题。
可用的思维模式包括:
- “思考”——基本推理
- “多思考”——扩展推理
- “多思考”——综合推理
- “延长思考时间”——扩展时间推理
- “超强思维”——最高推理能力
每种模式都会给 Claude 越来越多的标记供其使用,从而可以对具有挑战性的问题进行更深入的分析。
何时运用计划,何时运用思考
这两个特性处理的是不同类型的复杂性:
规划模式最适合:
- 需要对代码库有广泛了解的任务
- 多步骤实施
- 影响多个文件或组件的更改
思考模式最适合:
- 复杂的逻辑问题
- 调试疑难问题
- 算法挑战
对于需要兼顾广度和深度的任务,可以结合使用这两种模式。但请注意,这两种功能都会消耗额外的 Token,因此使用它们会产生一定的成本。
控制语境
逃脱:打断 Claude 的跑题
有时 Claude 会跑题,或者试图一次性处理太多事情。此时,我们可以按 Esc 键让Claude 在回答过程中停下来,这样你就可以重新引导对话。
当我们想让 Claude 专注于一项特定任务,而不是同时处理多项任务时,这个功能尤其有用。例如,如果想让 Claude 为多个函数编写测试,而它却开始为所有函数创建一个全面的测试计划,这时我们可以打断它,让它一次只专注于一个函数。
将逃脱与回忆结合起来
逃脱技巧最强大的应用之一是纠正重复性错误。当 Claude 在不同的对话中反复犯同样的错误时,你可以:
- 按 Esc 键停止当前响应
- 使用 # 快捷键添加关于正确方法的记忆,
- 继续使用更正后的信息进行对话
这样可以防止 Claude 在以后关于你们项目的对话中犯同样的错误。
重温对话
在长时间的对话过程中,可能会积累一些无关紧要甚至分散注意力的背景信息。例如,如果 Claude 遇到错误并花时间调试,那么这种来回讨论可能对下一个任务毫无帮助。
此时可以按两次 Esc 键来回退对话。这样会显示你发送的所有消息,方便你跳转到之前的对话节点并从那里继续。这个技巧可以帮助:
- 保留有价值的背景信息(例如 Claude 对你的代码库的理解)
- 删除分散注意力或无关的对话记录
- 让 Claude 专注于当前任务
上下文管理命令
Claude 提供了几个命令来帮助有效地管理对话上下文:
/compact
该/compact命令会总结完整的对话记录,同时保留 Claude 了解到的关键信息。以下情况最适合使用此命令:
- Claude 已经获得了关于您项目的宝贵知识
- 你想继续执行相关任务
- 对话虽然很长,但包含重要的背景信息。
当 Claude 对当前任务了解了很多,并且你想在执行下一个相关任务时保留这些知识时,请使用 compact。
/clear
该/clear命令会彻底清除所有对话记录,让您重新开始。这在以下情况下最为有用:
- 你要切换到一个完全不同的、不相关的任务
- 当前的对话语境可能会让Claude对新任务感到困惑
- 你想从头开始,没有任何先前的背景知识
/resume
有时候我们可能会关闭 claude 终端框,那么如果想看之前的历史记录,可以通过/resume命令
记忆管理
记忆文件介绍
Claude Code 提供三种记忆位置,每种都有不同用途:
| 记忆类型 | 文件位置 | 用途说明 | 使用示例 |
|---|---|---|---|
| 项目记忆(共享) | ./CLAUDE.md |
项目团队共享的指令 | 项目架构、编码规范、常用工作流程 |
| 用户记忆(全局) | ~/.claude/CLAUDE.md |
用于所有项目的个人偏好设置 | 代码风格偏好、个人工具快捷方式 |
| 项目记忆(本地) | ./CLAUDE.local.md |
项目的个人偏好设置(已废弃) | 你的沙箱地址、测试数据偏好等 |
其中, CLAUDE.md 文件是 Claude Code 自动读取的记忆文件,类似于 Cursor 中 rules 规则文件,但比它要更强大,它可以为 Claude 提供更多项目相关的上下文信息,如:
- 常用的 bash 命令
- 核心文件和工具函数
- 代码风格指南
- 测试说明
- 代码库规范
- 开发环境设置
- 更多希望 Claude 记住的信息等等
当 Claude Code 启动时,以上所有记忆文件会自动加载到运行环境中。
可以在多个位置放置 CLAUDE.md 文件,Claude Code 会递归读取这些文件,从当前工作目录开始,向上递归到根目录,读取找到的任何 CLAUDE.md 文件。
编辑记忆文件
在会话期间使用 /memory 斜杠命令,可以在系统编辑器中打开记忆文件:

选择一个记忆文件回车进行编辑,其中第一个就是使用 /init 初始化命令生成的,第二个已废弃,第三个是用户级记忆文件。
比如我们可以修改第三个用户级记忆文件:
每次请用中文回答我。
这样设置记忆后,后续所有项目的交互就都是中文回答的了。
自定义命令(了解)
Claude Code 内置了一些命令,您可以通过输入斜杠来访问这些命令,但您也可以创建自己的自定义命令来自动执行您经常运行的重复性任务。
创建自定义命令
要创建自定义命令,需要在项目中设置特定的文件夹结构:
.claude在项目目录中找到该文件夹commands在它里面创建一个名为“新目录”的目录- 创建一个新的 Markdown 文件,并使用你想要的命令名称(例如
audit.md)
文件名将成为你的命令名——从而audit.md创建/audit命令。
示例:审计命令
以下是一个自定义命令的实际示例,该命令用于审核项目依赖项是否存在漏洞:
此审计命令执行三项操作:
- 运行
npm audit以查找存在漏洞的已安装软件包 - 运行
npm audit fix以应用更新 - 运行测试以验证更新是否破坏了任何内容。
创建命令文件后,必须重启 Claude Code 才能识别新命令。
带参数的命令
自定义命令可以使用$ARGUMENTS占位符接受参数。这使得它们更加灵活且可重用。
例如,一条write_tests.md命令可能包含:
1 | Write comprehensive tests for: $ARGUMENTS |
然后可以使用文件路径运行此命令:
1 | /write_tests the use-auth.ts file in the hooks directory |
参数不必是文件路径——可以是任何想传递的字符串,以便为 Claude 提供任务的上下文和方向。
主要优势
- 自动化——将重复性工作流程转化为单个命令
- 一致性——确保每次都遵循相同的步骤
- 背景说明- 向 Claude 提供您项目的具体说明和规范
- 灵活性- 使用参数使命令能够处理不同的输入
自定义命令对于特定于项目的工作流程特别有用,例如运行测试套件、部署代码或按照团队约定生成样板代码。
MCP 服务器与 Claude Code
可以通过添加 MCP(模型上下文协议)服务器来扩展 Claude Code 的功能。这些服务器可以远程运行,也可以在您的本地计算机上运行,并为 Claude 提供它通常不具备的新工具和功能。
Playwright 是最受欢迎的 MCP 服务器之一,它使 Claude 能够控制 Web 浏览器。这为 Web 开发工作流程开辟了强大的可能性。
安装 Playwright MCP 服务器
要将 Playwright 服务器添加到 Claude Code,请在终端中运行以下命令(不要在 Claude Code 中运行):
1 | claude mcp add playwright npx @playwright/mcp@latest |
这条命令执行两项操作:
- 将 MCP 服务器命名为“剧作家”
- 提供在本地计算机上启动服务器的命令。
管理权限
首次使用 MCP 服务器工具时,Claude 每次都会请求权限。如果不需要这些权限提示,可以通过编辑设置预先批准服务器。
打开.claude/settings.local.json文件,并将服务器添加到允许数组中:
1 | { |
注意其中的双下划线mcp__playwright。这使得Claude无需每次都请求许可即可使用剧作家工具。
实际案例:改进组件生成
以下是一个 Playwright MCP 服务器如何改进开发工作流程的真实案例。我们无需手动测试和调整提示,只需让 Claude 来操作即可:
- 打开浏览器并导航到您的应用程序
- 生成测试组件
- 分析视觉样式和代码质量
- 根据观察到的情况更新生成提示。
- 使用新组件测试改进后的提示。
例如,可以要求 Claude:
“访问 localhost:3000,生成一个基本组件,检查样式,然后更新 @src/lib/prompts/generation.tsx 中的生成提示,以便将来生成更好的组件。”
Claude 将使用浏览器工具与您的应用程序进行交互,检查生成的输出,然后修改您的提示文件,以鼓励更多原创和富有创意的设计。
结果与收益
在实践中,这种方法可以带来显著更好的结果。Claude 可能会更新提示信息,而不是使用通用的紫蓝渐变和标准的 Tailwind 样式,以鼓励用户:
- 温暖的日落渐变色(橙色到粉色到紫色)
- 海洋深度主题(青色-翠绿色-青色)
- 不对称设计和重叠元素
- 创意空间和非常规布局
主要优势在于 Claude 可以看到实际的视觉输出,而不仅仅是代码,这使得它能够就样式改进做出更明智的决定。
探索其他 MCP 服务器
Playwright 只是 MCP 服务器众多功能中的一个例子。该生态系统包含以下服务器:
- 数据库交互
- API 测试和监控
- 文件系统操作
- 云服务集成
- 开发工具自动化
不妨探索一下符合您特定开发需求的 MCP 服务器。它们可以将 Claude 从代码助手转变为能够与您的整个工具链交互的全面开发伙伴。
文章信息
| 时间 | 说明 |
|---|---|
| 2025-12-21 | 初稿 |