ClaudeCode 入门详细教程,手把手带你Vibe Coding

本文使用 Mac 进行演示。主要是在安装环节有环境差异。

1. Claude Code 简介

Claude Code 是 Anthropic 推出的面向开发者的 AI 编程协作工具。Claude Code 的核心目标是理解你的整个项目,并参与到真实的编码、修改和重构过程中。Claude Code 不是一个代码生成器,而是一个能读项目、懂上下文、遵守约束的 AI 编程工具。它不是网页里的聊天框,而是直接在你的终端(Terminal)里运行,读取你整个项目的代码,理解文件之间的关系,直接修改代码文件,执行你的指令并给出建议。

2. Claude Code 特性

  • 上下文感知:不仅理解单个文件,而是理解整个项目结构
  • 工程化导向:关注可维护性、规范、测试,而不是一次性代码
  • 可定制行为:通过 Skills(技能包)让 AI 遵守你的规则

最底层还是模型的能力,Claude Code 只是一个 CLI 工具

2.1. Claude Code 核心能力

  • 全局上下文感知:不仅能读单个文件,还能理解整个项目的结构、文件间的依赖关系及架构。
  • 工程级代码修改 :可以直接读取并修改代码文件(如批量替换 varlet、拆分函数、添加错误处理),而不仅仅是给出建议。
  • 深度分析与解释:能结合上下文解释代码逻辑、排查报错原因及分析性能瓶颈。
  • 可定制行为 (Skills) :通过"技能包"将团队的编码规范、注释要求、测试标准等固化下来,让 AI 自动遵守。

局限性:不能替用户做最终技术决策,不能保证 100% 无 Bug,无法理解未明确说明的业务语义

3. 安装教程

3.1. 安装 Claude Code

使用官方脚本

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


mac 安装:npm install -g @anthropic-ai/claude-code

安装后验证

claude --version

3.2. Coding Plan订阅

目前是学习阶段、可以找一个性价比当前最高的。(好多模型都没有优化价格、另外有一些优惠的模型也需要限时抢购)。下面选择一个性价比当前最高的:maas.xfyun.cn/packageSubs... (讯飞星火模型)

其他模型有对应的配置

接下来就配置该模型。具体配置方式

配置 Claude Code

配置文件路径~/.claude/settings.json

json 复制代码
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "您的Coding Plan API Key",
    "ANTHROPIC_BASE_URL": "https://maas-coding-api.cn-huabei-1.xf-yun.com/anthropic",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
    "API_TIMEOUT_MS": 600000,
    "ANTHROPIC_MODEL": "astron-code-latest",
    "ANTHROPIC_SMALL_FAST_MODEL": "astron-code-latest"
  },
  "permissions": {
    "allow": [],
    "deny": []
  }
}

重新打开一个新的终端使环境变量配置生效

通过上面步骤,就完成了 Claude Code 的配置。接下来就开始练习如何使用。

3.3. 在各种工具中安装 Claude Code 插件

如果不习惯 Claude Code 的命令行模型,可以在 VS Code 编辑器中安装 Claude Code。在 VS Code 中安装 Claude Code 插件

上面就是在 VS Code 安装好了 Claude Code 插件。下面是三种权限模式:

  • 正常模式(默认):Claude 每次要操作前都会先问你同不同意。
  • Plan Mode(计划模式) :Claude 先告诉你它打算怎么做,得到你批准后才动手修改。
  • 自动接受模式:Claude 直接编辑,不再每次询问

其他一些小功能:

  • 直接用 @ 提到文件或文件夹
  • 可以拖拉文件到对话框

关于其执行环境与界面

  • 环境 :默认在本地运行,拥有最高权限。也支持在云端虚拟机或远程环境中运行。
  • 界面:可以在多种界面中使用,如命令行终端、VS Code 扩展、JetBrains IDE 插件等,其底层工作原理完全相同。

4. 使用教程

4.1. 基础命令

命令 描述 其他
esc 键 执行推出
/resume 恢复刚才的对话
/ 列出所有命令
/clear 清除会话
/cost 查看当前会话消耗,防止无意识烧 Token
/compact 压缩上下文
/reset 切换任务时非常重要
/review 检查 Git 暂存区改动

4.2. 键盘快捷键

分类 快捷键/操作 核心功能
常规控制 Ctrl+C 取消当前输入/生成
Ctrl+D 退出会话
Ctrl+L 清屏(保留历史)
Ctrl+O 切换详细输出(显示工具执行日志)
Ctrl+R 反向搜索命令历史
Option+P/Alt+P 切换模型(不清空提示)
文本编辑 Ctrl+K/Ctrl+U 删除到行尾/删除整行(删除内容可粘贴)
Ctrl+Y 粘贴 Ctrl+K/Ctrl+U删除的内容
Alt+B/Alt+F 光标按单词前后移动(需 Meta 键配置)
主题显示 Ctrl+T 切换代码块语法高亮(仅 /theme菜单内有效)
多行输入 ``+Enter / Shift+Enter` 换行输入(Shift+Enter 在 iTerm2/WezTerm 等终端免配置)
Ctrl+J 多行换行符
快速命令 /开头 触发斜杠命令(详见斜杠命令文档)
!开头 直接运行 Bash 命令(输出计入会话)
@ 触发文件路径自动补

4.3. 检查点

  • Claude 修改文件前会自动备份。只要按两次 Esc,或说"撤销刚才的修改",就能回到之前状态

4.4. 创建一个静态网站项目

案例:创建一个项目

上面使用工具完成了一个小项目。可以直接使用 git 进行管理。

4.5. git 管理

Claude Code 本身是一个基于终端的 AI 助手,它可以直接执行 shell 命令,包括 git

csharp 复制代码
# 初始化仓库
git init

# 添加所有文件
git add .

# 提交更改
git commit -m "Initial commit"

# 查看状态
git status

# 创建分支并切换
git checkout -b feature/new-feature

# 推送代码到远程仓库
git push origin main

💡 提示:你可以直接在 Claude Code 中输入类似:"请帮我提交当前目录的所有更改",它会自动生成并执行对应的 git 命令

5. Claude Code 的工作逻辑

5.1. 核心工作机制:代理循环

Claude Code 的核心是一个代理循环。当你给它一个任务时,它不会只给出一段代码建议,而是会像人类程序员一样,自主地、循环地执行以下步骤,直到任务完成:

  1. 收集上下文:读取你的项目文件、代码、错误日志等,全面理解当前状况。
  2. 采取行动:根据理解,规划并执行具体操作,如编辑文件、运行终端命令、搜索信息等。
  3. 验证结果:检查上一步行动的结果,判断任务是否成功,或哪里还需要调整。

这个"思考 → 行动 → 验证"的循环会不断重复,形成一个自主规划和执行的闭环,使其能够处理复杂的多步骤任务

这个循环由两个关键部分驱动:模型工具

5.1.1. 模型:Claude 的大脑

  • 功能:负责理解代码、进行复杂推理、规划任务步骤。它能理解项目整体结构,并将一个大目标拆解成可执行的小步骤。
  • 模型选择
    • Sonnet:适合日常编码,速度快,性价比高。
    • Opus:适合处理特别复杂的架构设计和深度推理任务。
  • 国内模型切换:由于官方模型在国内访问可能不便,可以通过配置环境变量或启动命令,将底层模型替换为 DeepSeek、阿里通义千问等国内模型。

5.1.2. 工具:Claude 的双手

工具赋予了 Claude Code 实际操作的能力,让它不再仅仅是"纸上谈兵"。主要内置工具包括:

  • 文件操作:读取、修改、创建、重命名文件。(项目的文件夹和所有子文件)
  • 搜索:在项目中按文件名或正则表达式查找代码。
  • 执行命令 :在终端运行 npmgit、测试脚本、启动服务器等。(当前git状态、分之、未提交修改、提交历史等)
  • 网络搜索:查询在线文档或错误信息。
  • 代码智能:与语言服务器协议(LSP)集成,实现查看类型错误、跳转定义等功能。

一个典型的修复Bug的流程就是这些工具的协同工作:运行测试 → 阅读错误日志 → 搜索相关文件 → 理解代码逻辑 → 修改代码 → 再次运行测试验证。

进阶扩展:可以用 skills(技能)、MCP(外部服务)、hooks(自动化)、subagents(子助手)等能力。

5.1.3. Claude 的能力

  • CLAUDE.md 文件(可以写项目专属规则,让 Claude 每次都记住; 重要规则写进 CLAUDE.md)
  • MEMORY.md: 自动记录能力,记住项目习惯。
  • 上下文:Claude 有上下文容量限制,当快满时,它会自动压缩 旧内容,可以输入 /compact 手动压缩,输入 /context 查看当前占用情况,用 skills 和 subagents 减少不必要的上下文占用

5.2. 灵活的会话操作

Claude Code 提供了三种会话管理方式,让你能灵活地继续工作或尝试新方案:

  1. 恢复会话 :使用 claude --continueclaude --resume 命令,可以从上次中断的地方无缝继续,完整恢复聊天历史。
  2. 分叉会话 :使用 claude --continue --fork-session 命令,可以基于当前对话历史创建一个全新的、独立的会话。这在你想尝试另一种实现方案,又不想影响原有对话时非常有用。
  3. 多终端共享会话:可以在多个终端窗口中同时使用同一个会话,但需谨慎操作以避免冲突

6. 项目应用

6.1. 项目初始化 init

/init 命令的核心作用是为当前项目创建一个名为 CLAUDE.md 的持久化配置文件。这个文件相当于给 Claude Code 提供了一份专属的"项目说明书"或"长期记忆",确保它在每次会话中都能理解项目的背景、结构和规范。

CLAUDE.md 文件详解

当你在项目根目录下执行 /init 命令后,Claude Code 会自动分析你的代码库,并生成一个 CLAUDE.md 文件。这个文件通常包含以下内容:

  • 项目描述: 项目的目标和主要功能。
  • 技术栈: 使用的编程语言、框架和核心库。
  • 代码风格: 项目的命名约定、缩进规则等编码偏好。
  • 架构模式: 项目的目录结构和关键模块的组织方式。
  • 工作流程: 如测试、构建、提交等常用命令和规范。

主要优势

  • 建立上下文: 让 Claude Code 在开始工作前就快速理解整个项目的结构,无需在每次对话中重复解释。
  • 保持一致性: 确保 Claude 生成的代码或建议始终遵循项目既定的代码风格和架构模式。
  • 提升效率: 显著减少重复性的上下文设置,让开发者能更专注于核心业务逻辑的开发。

使用建议

  • 首次使用: 建议在开始一个新项目或首次使用 Claude Code 处理一个现有项目时,立即运行 /init 命令。
  • 动态更新: CLAUDE.md 文件并非一成不变。你可以随时通过自然语言与 Claude 对话,要求它更新或完善这份说明书,例如:"请将'使用 Jest 进行测试'这条规则添加到 CLAUDE.md 中"。
  • 团队协作: 将生成的 CLAUDE.md 文件提交到代码仓库,可以帮助团队新成员或其他开发者快速了解项目规范,实现开发环境的一致性。

6.2. 项目结构

一个典型的 Claude Code 项目目录结构如下

  • CLAUDE.md 放置在项目根目录,所有团队成员共享,它告诉 Claude:这个项目是什么、如何运行、有什么约定
  • CLAUDE.local.md 存放只与你本人相关的偏好或临时指令,不应共享给团队。(比如本地调试的数据库连接信息等)
  • .claude/settings.json -- 权限与配置中心,团队共享的配置文件,控制 Claude 允许或禁止执行哪些操作,作为团队安全基线。比如禁止命令 "rm -rf *"
  • .claude/commands/ -- 自定义斜杠命令,目录下每个 .md 文件自动映射为一条 /project:文件名 命令。
  • .claude/commands/ 是团队将重复性任务标准化的核心机制
  • .claude/rules/ -- 模块化行为规则,将 CLAUDE.md 中的规则拆分模块化存放,Claude 在整个会话中始终遵守。适合存放长期稳定执行的行为约定,避免 CLAUDE.md 过于臃肿
  • .claude/skills/ -- 自动调用的工作流,Skills 是更高级的复合工作流 。当 Claude 判断某个任务适合某个 skill 时,会自动读取并执行对应的 SKILL.md无需手动调用 。每个 skill 是一个子目录,目录内包含 SKILL.md
  • .claude/agents/ -- 子代理角色,定义可被主 Claude 实例派遣的专业子代理 。在复杂任务中,主代理将子任务委派给对应专家角色,实现多代理协作。子代理在隔离上下文中运行,拥有独立的权限范围。

6.3. Claude Code 交互模式

三大核心交互模式(Ask、Plan、Edit),*Ask 是搞清楚问题,Plan 是避免走弯路,Edit 是谨慎执行。 *Claude 很强,但依然可能产生错误或幻觉。

Claude Code 根据任务性质引入了三种思维模式,开发者需在 Prompt 中明确意图,系统会自动或手动切换模式

Claude Code 根据任务性质引入了三种思维模式,开发者需在 Prompt 中明确意图,系统会自动或手动切换模式。

6.3.1. Ask 模式:只看不动(只读分析)

  • 定位:默认安全模式,如同"双手放在背后的高级工程师"。
  • 适用场景:看不懂代码、接手新项目、定位 Bug 原因、确认逻辑合理性。
  • 特点 :可读取和分析代码,但绝不修改文件或执行 Shell 命令。
  • 示例指令:"解释一下 src/auth.ts 里的 JWT 验证流程"。

6.3.2. Plan 模式:谋定后动(只规划)

  • 定位:架构师思维模式,核心价值是"先写代码变成先达成共识"。
  • 适用场景:新增核心模块、重构接口、引入新技术(如缓存)、涉及多文件改动。
  • 特点:不直接改代码,先给出完整实施方案(通常为步骤列表/TODO),需用户确认后才执行。
  • 示例指令:"我想给现有 API 增加 Redis 缓存层,请先给我一个实施方案"。

Plan 模式用得越多,返工概率就越低。

6.3.3. Edit 模式:直接执行(可写代码)

  • 定位:动手执行阶段,用户角色是"代码的最终审查者"。
  • 适用场景:改动目标明确、风险可控(知道改哪里、改成什么样)。
  • 特点:生成精确 Diff,可能请求执行测试/构建命令,所有写入需用户确认。
  • 示例指令:"把登录接口的响应码从 200 改为 201"。

7. 操作应用

7.1. / 执行内置操作

比如 /cost

7.2. @ 引用具体文件、代码或目录

7.3. ! -- Bash 命令

通过在输入前加上 ! 直接运行 bash 命令,无需通过 Claude

8. 用法

不要把它当成简单的聊天机器人,而要把它视为一位执行力极强、但需要明确约束的工程师
原则:提问越模糊,回答越泛泛;提问越具体(背景、目标、约束),产出越精准

8.1. 场景一:学代码 (像导师一样请教)

Claude Code 擅长把复杂概念讲清楚,关键在于设定"受众"和"深度"。

新手视角的解释
错误问法 :"这段代码什么意思?"(容易得到跳过细节的总结)
正确问法 :"假设我是刚学 Python 的新手,请用通俗易懂的方式,逐行解释这个函数的执行流程。"(强制其减少术语,使用类比)
方案对比与审美培养
用法 :当你觉得代码"能跑但不够好"时,要求它提供 2-3 种实现方式进行对比(如:当前写法 vs 函数式写法)。
收益 :从可读性、性能、扩展性三个维度建立代码审美。
逐行拆解复杂逻辑
用法 :针对复杂的 if/else 或状态机,要求"逐行解释输入、输出和副作用",并指出潜在的 Bug 点。


8.2. ️ 场景二:写代码 (像架构师一样描述)

写代码时,切忌直接追求完美,应从小而确定的需求开始,明确输入、输出和约束

高质量的需求描述
公式 :输入是什么 + 输出是什么 + 约束条件(如:不依赖第三方库)。
示例 :"写一个 Python 函数,输入邮箱字符串,输出布尔值。要求不依赖第三方库,仅使用正则。"
边界控制

明确告诉它模块的职责边界(例如:"只负责数据转换,不处理 IO"),防止过度设计。
生成测试用例
强烈推荐:让 Claude 参考项目现有的测试风格,补充单元测试(覆盖正常情况和边界情况)。这是初学者养成的最好习惯之一。


8.3. ️ 场景三:改代码 (像资深同事一样审查)

修改代码比写新代码更难,核心原则是 "控制变量" ,即明确什么能改,什么绝对不能动。

安全重构
关键指令 :"在不改变现有逻辑/行为的前提下 ,重构这个函数。"
目标 :重命名变量、拆分逻辑块、消除重复代码。
提升可读性
指令 :"哪些地方可以加注释或拆成小函数?请帮我把这个长函数拆分成职责清晰的模块。"
统一风格
指令:"按照当前项目的风格规范,统一这几个文件的格式、命名和结构,不要改动逻辑。"


8.4. 终极提问模板 (建议收藏)

为了限制 Claude 的"自由发挥"(如自动补全功能或过度重构),请养成使用结构化提问的习惯:

背景 :我现在在做什么(上下文)
目标 :我希望达到什么效果
约束 :不能做什么 / 必须遵守什么(例如:不要引入新库、不要改变函数签名)
输出要求:代码 / 解释 / 步骤

9. Claude Code MCP 能力

MCP(Model Context Protocol)是 Claude Code 连接本地环境与外部世界的桥梁。如果说基础版 Claude 是一个被隔离的"代码顾问",那么配置了 MCP 的 Claude 则进化为拥有"手和脚"的全能工程师------它能直接读写你的本地文件、操作数据库、甚至控制浏览器。

MCP 本质上是一个标准化的通信协议。它允许 Claude Code 安全地连接到本地服务器或远程 API,从而获取上下文信息并执行操作。

9.1. 核心价值

  • 本地化能力:不再局限于对话框,能直接访问你的项目文件、Git 仓库和系统日志。
  • 工具扩展:通过安装不同的 MCP 服务器,赋予 Claude 操作数据库、浏览器或第三方服务(如 GitHub、Slack)的能力。
  • 标准化:无论是连接 PostgreSQL 还是调用 Fetch API,都遵循统一的配置格式。

9.2. 场景描述

场景一、浏览器自动化

利用 Puppeteer 让 Claude 具备"眼睛",能进行网页测试或数据抓取。

  • 功能:网页截图、DOM 操作、自动化测试。
  • 配置命令claude mcp add puppeteer -s user -- npx -y @modelcontextprotocol/server-puppeteer
  • 实战用途:"打开这个 URL,截图首页并分析 CSS 布局问题"、"帮我抓取这个页面的所有 H2 标题"。

场景二、数据库直连

让 Claude 直接查询数据,无需通过中间层。

  • 功能:执行 SQL 查询、管理表结构(以 PostgreSQL 为例)。
  • 配置命令claude mcp add postgres -s user -e DATABASE_URL=postgresql://user:pass@localhost/db -- npx -y @modelcontextprotocol/server-postgres
  • 实战用途 :"查询最近一小时内注册的用户数量"、"帮我生成一个迁移脚本来添加 user_status 字段"。

9.3. 管理MCP

MCP 的配置通常存储在 ~/.claude.json 或项目级的 .claude/mcp.json 中。

常用管理命令

  • 查看已安装服务claude mcp list
  • 移除服务claude mcp remove <server_name>
  • 测试连接claude mcp test <server_name>

MCP 是 Claude Code 从"玩具"走向"生产力"的关键一步。通过简单的配置,你可以将 Claude 嵌入到你的开发工作流中,让它不仅能"写代码",还能"跑代码"、"测代码"和"管代码"

10. 记忆系统

Claude Code 的记忆系统并非简单的"聊天记录保存",而是一套精密的分层记忆架构。它让 Claude 从一个每次重启都"归零"的聊天机器人,进化为能够随着时间推移、不断积累项目知识与用户偏好的"长期结对编程伙伴"

10.1. CLAUDE.md:你给 Claude 的"家规"

  • 性质 :由用户手动编写的指令文件。
  • 用途:定义项目规范、代码风格、构建命令等"硬性规则"。
  • 位置:通常位于项目根目录或用户全局配置目录。
  • 示例内容 :"本项目使用 pnpm 而非 npm"、"所有组件必须使用 TypeScript 编写"。

10.2. MEMORY.md:Claude 自己的"工作笔记"

  • 性质 :由 Claude 自动创建并维护的笔记本。
  • 用途:记录跨会话的动态知识,如调试经验、架构决策背后的原因、用户临时表达的偏好。
  • 机制:Claude 会在工作中自动判断哪些信息值得保存,并写入该文件。
  • 示例内容:"上次修复 Bug #123 时发现,数据库连接池需配置为 10"、"用户喜欢用简短的英文提交信息"。

核心区别

  • CLAUDE.md 是你告诉 Claude 该怎么做
  • MEMORY.md 是 Claude 记录已经学到了什么

10.3. 上下文即资源

上下文窗口是稀缺资源,Claude Code 采用了精细化管理策略。

  • 压缩机制 :使用 /compact 命令,可将冗长的对话历史压缩为结构化摘要,释放空间并重新加载核心记忆。
  • 查看状态 :使用 /context 查看当前窗口占用情况,使用 /memory 检查已加载的记忆文件。

子智能体记忆隔离

当 Claude 调用子智能体处理复杂任务时,子智能体拥有独立的记忆目录(~/.claude/agent-memory/)。这确保了子任务的调研过程不会污染主会话的记忆,任务结束后仅回传摘要与结论。

10.4. 最佳实践

  • 各司其职 :将团队共识写入 CLAUDE.md,让 Claude 自动积累经验到 MEMORY.md
  • 保持精简 :定期检查 MEMORY.md,删除错误或过时的记录,避免"噪音"干扰。
  • 隐私保护 :使用 CLAUDE.local.md 存储私有的本地配置(如测试数据路径),并将其加入 .gitignore
  • 适度原则:记忆并非越多越好。精准、清晰的记忆比海量的堆砌更能提升 Claude 的表现

11. 材料参考

菜鸟教程:www.runoob.com/claude-code...

官方文档:code.claude.com/docs/en/ove...

中文文档:code.claude.com/docs/zh-CN/...

Github 开源:github.com/anthropics/...

12. 最后总结

本文档详尽介绍了 Anthropic 推出的 AI 编程代理工具 Claude Code。内容涵盖其安装配置(含国内模型替代方案)、核心特性(全局上下文感知、工程化修改)、工作逻辑(代理循环)、交互模式(Ask/Plan/Edit)及项目应用。文档还阐述了其记忆系统、MCP 扩展能力及与 Git 的集成,旨在指导开发者利用该工具进行高效的代码理解、编写与重构。

到此结束、感谢阅读。

相关推荐
Coder个人博客2 小时前
06_apollo_third_party子模块整体软件架构深入分析文档
linux·人工智能·架构
rebekk2 小时前
PyTorch Dispatcher介绍
人工智能·pytorch·python
AI浩2 小时前
第 11 章:多代理协作与编排 —— 从“单兵作战”到“集团军协同”
人工智能
英俊潇洒美少年2 小时前
前端安全 完整精讲
前端·安全
aircrushin2 小时前
2026我最推荐的前端设计skills
前端
problc2 小时前
Pretext —— 无 DOM 文本测量与布局引擎
前端·ai
一休哥※2 小时前
ClawTeam 完整使用教程:用 AI 多智能体团队自动完成复杂任务
大数据·人工智能·elasticsearch
阿kun要赚马内2 小时前
Python面向对象:@property装饰器
开发语言·前端·python
徒 花2 小时前
web前端技术知识复习
前端·html·web