0%

Claude Code 常用操作指南


🚦 一、三个工作模式

Claude Code 会动手改你电脑上的文件,默认模式下,每一步都要你手动回车给它权限。按 Shift + Tab 可以在三个模式之间循环切换:

模式 它会做什么 适合什么时候用
manual mode 每一步操作都弹窗问你,确认了才执行 新手、改不熟悉的代码、不确定它想干什么
auto mode 所有改动自动执行,不再逐个确认 任务明确、你已经信任它了
plan mode 只看不改,先出方案,每一步也需要你确认 改动大、涉及多个文件,想先看清楚

image-20261103190526961

image-20261103190549702

image-20261103190605661

当上手时,最好先用默认模式,看着它每一步在干什么。熟悉之后,可以切到 Auto-accept 提速。遇到一个全新的、比较大的问题时,可以先用plan模式规划,再用auto模式执行。auto模式也不代表失控——任何时候按 Esc 都能让它停下来。


📝 二、先规划,再动手

上来就让 Claude 写代码,通常的结果是写出来跟你想的不一样,然后改来改去。更省事的做法是先让它出方案。(虽然后续也还要反复改,但最开始的时候最好还是用plan)

下面是一个开发番茄钟网页的例子,这个例子会贯穿全文:

按 Shift + Tab 切到 Plan 模式,然后输入:

1
2
3
开发一个番茄钟网页,技术栈用 React + TypeScript + Tailwind CSS。
功能包括:25 分钟倒计时、开始/暂停/重置、番茄计数、休息提醒。
请先规划项目结构和开发步骤,不要写代码。

这段提示词里有三样东西,在你输入的提示词里最好都包含进去:

  1. 技术栈——别让它猜。说要 React 就是 React,不然它可能给你一个原生 JS 版本。
  2. 功能——越具体越好。”番茄计数”和”番茄计数 + 历史记录”,是两个工作量。
  3. 要求——“先规划不写代码”,明确告诉它这一轮只要方案。

方案出来后,有三种模式供你选择:

image-20261103191212640

自动接受并开始改、逐处手动确认、或者先给反馈调整方案。

第一次建议选手动确认,等你看它规划得靠谱了再放权。

另外,计划会存成一个文件。任务很长时它照着这份计划走,不会做着做着忘了走到哪一步。


🎤 三、需求说不清,就让 Claude 来问你

上面那种写法适合你已经想清楚要什么。但很多时候你只有一个模糊的念头:”我想做个番茄钟。”用什么技术栈、要不要统计、什么风格,全没想好。

这种情况别硬憋需求文档,反过来让它采访你:

1
2
3
我想做一个番茄钟,但还没想清楚具体怎么做。
先不要写代码,先向我提几个问题,帮我把需求理清楚,
等我们讨论清楚了你再动手。

它会开始问:技术栈偏好?桌面端还是网页?倒计时固定还是可自定义?要不要历史记录?界面喜欢什么风格?

这些问题里有些是你压根没想到的,比如”休息提醒用弹窗、音效还是浏览器通知”。逐个回答完,需求自然就清晰了。

需求不明确时,让 AI 帮你做需求分析,比让它立刻写代码有用得多。


🎯 四、用 @ 指定文件,提高效率、节省token

当项目文件很多,而你想改的只是其中一个文件时,用 @ 可以直接告诉它看哪个文件:

1
2
把倒计时数字改大一点,加一个呼吸动画。
@src/components/TimerDisplay.tsx

三种写法:

  • @./src/components/TimerDisplay.tsx:指定单个文件
  • @./src/components/:指定整个目录
  • @./src/App.tsx @./src/styles/global.css:一次指定多个

输入 @ 的时候会弹出候选列表,不用手打完整路径。

它有两个好处。一是不会改到别的文件——你只指了这一个,它就知道边界在哪。二是省上下文:不指定文件时,它为了理解需求会自己搜索、读取大量代码,这些全都占用上下文;指定之后只读你点名的那几个。


🧠 五、面对复杂任务,启动ultrathink模式

像”加一个统计面板,展示今日完成数、累计专注时长、连续完成天数,还要处理跨日期和持久化”这种比较复杂的任务,涉及数据结构和边界情况,可以启用ultrathink思考强度模式。

可以在提示词末尾加一句:

1
请 ultrathink 后给我方案。

它会在这一轮把思考推到最高挡,先把方案从头捋一遍再落笔,漏掉的边界情况会明显减少。

一些老的版本教程会写 think / think hard / think harder / ultrathink 四个关键词,现在真正生效的只有 ultrathink,其余几个只是普通文字。

另外,也可以用 /effort 调全局的思考强度等级:image-20261103191713816

效果会在后续所有对话里都生效。

或者在 /model 里设置:用左右箭头切换思考强度,按下回车即生效:

image-20261103191954849

当然了,思考越深,就会越慢越贵。


📌 六、用 CLAUDE.md 让项目自己”自我介绍”

CLAUDE.md 是一个放在项目根目录的文件,Claude Code 每次启动时都会自动读取这个文件的内容,作为它理解项目的背景信息。它不是孤立的,和《Claude Code 入门指南》里「功能一:长期记忆」讲的是同一套记忆机制:

层级 放在哪 记什么 何时生效
全局记忆 ~/.claude/CLAUDE.md,以及它指向的个人档案 你是谁:技术栈、学习计划、代码风格、常用路径 任何目录启动都自动加载
项目说明 项目根目录的 CLAUDE.md 这个项目是什么:技术栈、规范、命令、目录结构 在这个项目里启动时自动加载
项目经验 .claude/projects/<项目>/memory/,由 MEMORY.md 做索引 踩过的坑、工作小结、下一步计划 新会话「载入记忆」时读取

你可以直接在对话框输入 /init,claude code会扫描项目结构,自动生成一份Claude.md。默认是英文,不满意可以让它改成中文,或者自己打开改——它就是个普通的 Markdown 文件,放在你的项目目录下。

一份好用的 CLAUDE.md 通常包含:

  1. 项目简介:一句话说清这是什么
  2. 技术栈:用了哪些框架和工具
  3. 代码规范:命名、组件写法、你不想被改掉的约定
  4. 项目结构(可选):哪个目录放什么

写不写有一条判断标准:删掉这条,Claude 会不会犯错?不会就别写。

所以下面这些东西不该放进去:

  • 详细的 API 文档——太长,需要时用 @ 引用具体文件
  • 每次都在变的临时需求——用 /compact 或 /clear 处理
  • “写出好代码”这种空话——它本来就知道

CLAUDE.md 是活文档。加了新功能、换了技术栈,顺手更新,别让它变成三个月前的老黄历。

这样一来,换到任何目录都不需要重新自我介绍,回到某个项目也不用重翻历史记录。


💾 七、Claude Code变笨了:用/context → /compact → /clear

当你和cc在一个对话窗口里聊了很久后,你会发现它变笨了,执行任务越来越慢,错误也越来越多。

其实它不是真的变笨了,而是上下文窗口快满了。对话历史越来越长,留给思考的空间越来越小,它就开始顾此失彼。

输入下面这个命令,查看上下文用量:

1
/context

它告诉你当前占了多少。超过 70% 就该处理了。有两种处理方法:

命令 效果 什么时候用
/compact 把之前的对话压缩成摘要,保留关键信息 还要继续做同一个任务
/clear 彻底清空,像新同事第一天上班 换到完全不相关的任务

优先用 /compact——它像看完一本书写一页读书笔记,核心还在,细节丢了。

只有任务真的完成了,才用 /clear。


↩️ 八、它改错了:Esc Esc 回滚

当它的改动方向不对时,连按两次 Esc(或输入 /rewind),会弹出最近操作的时间线:

1
2
3
❯ 1. [14:35] 修改了 useTimer.ts(添加音效逻辑)
2. [14:32] 修改了 Timer.tsx(添加音效触发)
3. [14:28] 创建了 notification.ts

选一个时间点,文件恢复到那一刻,对话上下文也一起回滚,就像那几步没发生过。

三种回滚方式对比:

方式 文件 对话 适用场景
Esc Esc / /rewind ✅ ✅ 走错方向,想彻底回到某个节点
说”撤销刚才的修改” ✅ ❌ 只是代码改错了
git checkout . / git reset --hard ✅ ❌ 最保险的全局回滚,不依赖 Claude Code

Rewind 有个局限:它只能回滚 Claude 直接创建或编辑的文件。如果它执行了 npm install,生成的 node_modules、package-lock.json 是撤不掉的。

所以最稳的习惯是:让它做大改动之前,先 git commit 存一份档。真出问题了,一条命令回到干净状态。Claude 一旦跑偏,立刻回滚,别让它一路错下去。


🔄 九、关掉终端,也能接着聊

如果你直接关终端、重开 claude,是一个全新会话,之前聊的就没了。

但是每次退出claude code的时候,它都会自动存档。

新开对话后,输入:

1
claude --resume

会列出最近的会话,选中之后,Claude Code 就会恢复到那次对话的状态,之前聊了什么、改了哪些文件、上下文是什么,全都还在。

如果你确定要恢复的是最近一次对话,还有一个更快的命令:

1
claude --continue    # 或者 claude -c

这个命令会直接恢复最近一次对话,省去选择的步骤。

看到这里可能你会有些疑问,有了这两条命令,是不是就不用 CLAUDE.md 和记忆了?

不是,两者管的东西不一样:

claude --resume CLAUDE.md / 记忆
带着什么 整段对话历史,包括试错的方案 只带结论
怎么用 手动挑一个历史会话 新会话自动加载,或说「载入记忆」
上下文开销 整段历史重新塞进去 只读索引和需要的几篇
跨目录 不行,只能回到原目录的会话 可以

--resume 是接着上次那通电话聊,记忆是交接班笔记。 没干完的活,用 --resume 接着干;已经定下来的结论,写进 CLAUDE.md 和 memory。


🎨 十、用 Skill 装个”专业技能包”

Skill 是什么

Skill 是 Claude 的”专业技能包”:由专业人员编写的一组指令、模板和参考文档。装上之后,Claude 遇到对应场景会按这份专业指南工作——相当于给它报了个培训班,让它学习专业人士的做法。

先找到靠谱的 Skill

Skill 的入口在插件市场。输入 /plugin 打开市场界面,能看到官方市场和已添加的其他市场。

image-20261103200553064

image-20261103200641618

优先用官方市场的。Anthropic 自己维护的 Skill(frontend-design、pdf 等)经过验证,质量和安全都更可靠。

官方市场里没有想要的,可以添加社区市场,把 GitHub 上的仓库加进来:

1
/plugin marketplace add <用户名>/<仓库名>

第三方 Skill 良莠不齐,挑的时候需要看几样东西:

  1. 来源:优先官方或知名维护者;个人仓库看 star、最近更新时间、有没有人提 issue
  2. 内容:打开 SKILL.md 看写没写清楚——什么时候触发、具体怎么做、踩过哪些坑。只写”你是一个前端专家”这种空话的,基本没用
  3. 体积:Skill 的名字和描述每次会话都会加载,装一堆用不上的反而白占上下文

装之前最好看一眼它带了哪些文件。带脚本的 Skill 会在你电脑上执行命令,来源不明的别装。

安装和使用

以 frontend-design 为例,它专门用来生成高质量的前端界面。在对话框输入:

1
/plugin install frontend-design

或者在刚刚的plugin界面下选中然后安装image-20261103200801167

装好后,在 /plugin 的 Installed 列表里能看到它处于 enabled 状态。

然后直接提需求:

1
2
3
番茄钟的功能都完成了,但页面很丑。
请用 frontend-design skill 重新设计界面:
简洁现代的风格,暖色调,圆形倒计时,配合番茄的红色主题。

Claude 会自动加载这个 Skill,按专业设计标准重做配色、布局、字体和交互动画。你不需要懂设计,也不用自己写样式。

Skill 也不只用于前端。插件市场里还有文档处理、测试、代码审查等各类技能,按需安装就行。

一个要注意的地方

Skill 是在你的主对话里工作的:它的指南、它读的文件、它生成的代码,全部占用当前会话的上下文。上下文已经很紧张时,先别急着加载大 Skill——可以用下一节的子代理。


🧩 十一、写完代码谁来把关?用子代理做 Code Review

番茄钟功能都做完之后,想必你还有一个问题:这些代码质量怎么样,有没有 bug?

自己一行一行看太累。那让 Claude 自己 review 呢?可以,但这些代码就是它自己写的,自己审自己多少会”手下留情”,一些问题它看不出来。

更好的办法是专门创建一个子代理来审查。

什么是子代理

子代理是 Claude 的”分身”:一个独立的 Claude 实例,有自己的上下文窗口,跟你当前的主对话完全隔离。它读了多少文件、分析多少代码,都不占用你的主会话;干完活只把结论汇报回来。

创建代码审查子代理

新版 Claude Code有两种方式创建:

方式一:让 Claude 帮你创建。直接说:

1
2
帮我创建一个 code-reviewer 子代理,负责审查代码的正确性、边界情况、
资源释放和可访问性,按严重/中等/轻微分级输出。

它会在 .claude/agents/ 下生成配置文件。项目专用的放项目里的 .claude/agents/,所有项目通用的放 ~/.claude/agents/。

方式二:自己写文件。子代理就是一份带 frontmatter 的 Markdown:

1
2
3
4
5
6
7
8
---
name: code-reviewer
description: 审查代码改动,检查正确性、边界情况和资源释放
tools: Read, Grep, Glob
---

你是一名代码审查员。检查逻辑错误、边界情况、资源释放、参数校验,
按「严重 / 中等 / 轻微」分级输出,每条给出文件和行号。

两种方式得到的东西一样,本质都是给子代理写一份”工作说明书”:审什么、按什么标准审、结果怎么输出。

用它审查代码

1
用 code-reviewer 子代理帮我审查这个项目的代码

执行时能看到子代理在独立工作。审查结果通常是几条具体问题,比如定时器没清除、参数没校验、可访问性不足,并按严重程度标好。

然后针对结果修复:

1
请修复审查结果中标记为「严重」和「中等」的问题。

不只用于 Code Review

任何需要”独立视角”的活都适合交给子代理:写测试、查文档(让子代理去读某个库的文档,总结要点汇报)、批量修改一组文件。

子代理和 Skill 的区别

这两个都是用一份 .md 描述能力,很容易混。区别在于谁在干活、占不占上下文:

Skill 子代理
谁在干活 还是主对话里的 Claude,只是加载了一份专业指南 新开一个独立的 Claude 实例
上下文 指南、读的文件、写的代码都占主会话 只把结论汇报回来,不占主会话
来源 插件市场安装,开箱即用 自己用 /agents 创建,按需定制

前面装过的 frontend-design 就是这种模式:干活的是主对话里的 Claude,它只是加载了一份设计指南。

所以,想让它在某个领域做得更好,用 Skill;想让独立视角干一件独立的事、还不占主上下文,用子代理。


🧭 十二、常用操作速查表

想做的事 操作
切换工作模式 Shift + Tab
中断它 Esc
先出方案再动手 Plan 模式 + 说清技术栈、功能、要求
需求不明确 让它先向你提问
指定要改的文件 @文件路径
这一轮深度思考 提示词里加 ultrathink
全局调整思考深度 /effort
生成项目说明 /init
查看上下文占用 /context
压缩上下文 /compact
清空上下文 /clear
回滚 Esc Esc 或 /rewind
恢复历史对话 claude --resume
恢复最近一次对话 claude -c
安装技能/插件 /plugin install <名字>
创建子代理 直接描述需求,或写 .claude/agents/*.md

写在最后

Claude Code 像一个能力很强,但需要你正确引导和不断磨合的超级工作伙伴。你给的信息越清晰,产出质量越高;流程越规范,效率越高。


📚 参考文档:Claude Code 使用教程 - 小林面试笔记