Claude code 技巧

基本使用

在命令行输入 claude 进入;

基本使用流程和常用命令;



输入:

输入单号 ! 进入命令行模式

按快捷键 Ctrl + g 可在文本或vscode 编辑器中输入对话文字,输入完成后需要保存并关闭编辑器;



三种模式

快捷键 Alt + M 可切换模式


?规划模式下的实现计划去了哪里?

?claude code 在执行终端命令时,会征求用户同意,用户同意后 claude code 将用户的这些选项信息保存在了哪里?是当前项目还是全局?



开启自动模式后, claude code 会自动修改或写入文件,而不经过用户同意;但在执行终端命令或安装依赖时仍然会寻求用户同意,因为终端命令更危险;要想任何情况下都让 claude code 自动执行而不询问用户,就要修改 claude code 配置文件,或在启动 claude code 时加上 --dangerously-skip-permissions 选项;开启 --dangerously-skip-permissions 选项后,claude code 就会完全放飞,做任何事情都不再征求用户同意,这在理论上会有小一定的风险(风险一般较小)。



对话阻塞和任务管理

如下图,执行有些命令后会阻塞会话,此时输入对话内容并不会有任何作用,因为命令阻塞了当前对话;


按 contr + b 可将这个命令启动的服务放入到后台运行,这样就可以继续当前对话;如下图所示,对话下方会提示当前有 1 个后台任务正在运行;


输入命令 /tasks 可查看当前正在运行的后台任务;如下图下方,按 Esc/Enter/Space 可退出任务任务查看,按 k 可直接杀死这个任务;

以 web 前端项目为例,当项目以任务的形式运行在后台时,修改项目可实时看到效果。


代码回滚

按两下 Esc 键,可列出当前项目的修改历史,如下图:


选择要回滚的更改项时,claude code 会给出提示:

选择解读如下:

- Restore code and conversation 表示将代码文件和对话记录同时恢复到所选择的那个时刻,

- Restore conversation 表示对话记录会回到那个时刻,但当前代码文件保持不变;即,“忘记”之后聊过的内容,对话进度回到那个时间点。

- Restore code 撤销文件更改,但对话历史保持不动;

- Summarize from here 表示不回滚,只从选择的时间点之后的所有对话内容压缩成一个简洁的 AI 总结;

- Never mind 表示直接退出回滚菜单,不做任何更改;

注:不能太依赖 claude code 的回滚功能,因为 claude code 只能回滚自己修改或创建的文件;由终端命令创建的文件 claude code 不会回滚;例如,通过 npm install 安装依赖时创建的文件是不会回滚的;因此,最好使用 git 进行回滚或代码历史管理。


回到历史会话

如果退出了对话,可通过 /resume 命令来恢复到之前的某个会话,如下图:

Claude code 的会话历史和相关数据 存储在本地计算机主目录 ~/.claude/ 下;默认情况下,会话会保留 30 天,超期会被自动清理;可通过 /export 命令手动导出历史会话。


使用 MCP

? 了解 figma,以及 mcp


压缩或清理上下文

Ctrl + o 可查看当前上下文,使用命令 /com 可压缩上下文

## 直接压缩
/compact

## 有条件压缩
/compact 保留用户需求

## 压缩后再查看上下文
Ctrl + o

## 清理上下文
/clear

压缩上下文是为了在保持“记忆”有效性的前提下,腾出空间并降低成本;具体是:清除上下文中不重要的信息,以降低上下文长度、减少 token 消耗、提升响应速度,模型处理的文本越少,推理速度越快。

如果确定当前上下文不再有用,后续对话也与当前上下文没有关系,就可以使用 /clear 命令清理掉当前上下文。


持久化项目上下文和指令

claude.md 是一个非常关键的文件,用于为 AI 提供持久化的上下文和指令;它是项目专属的“使用说明书”或“核心规则文档”,是跨会话的持久化“记忆”;每次打开 Claude Code 时, claude.md 文件会被读取一次,修改 claude.md 后要退出重新进入 Claude code;AI 通过 claude.md 能够立刻知道项目背景,而不需要用户每次重新解释。

claude.md 中主要是规则与约束,其中包括 开发原则、编码规范、架构描述或 API 说明等。当执行 /init 指令生成 claude.md 时,Claude Code 会快速扫描整个项目,并提取关键信息,然后生成 claude.md ;如果当前项目目录是空的,则 Claude 会提示无法生成 claude.md


编辑 claude.md

可以通过任何编辑器来修改 claude.md ,也可以通过命令 /memery 命令直接打开 claude.md ,如下图:

选项解读如下:

Project memory 表示打开当前项目中的 claude.md,仅在当前项目中生效;

User memory 表示系统用户级别的 claude.md,对当前系统用户下的所有项目生效;

注:修改完 claude.md 文件后,要退出重新进入 claude code


Hooks(钩子)

Hooks 是指在特定生命周期事件发生时触发自动化指令或脚本执行。可以选择 Hooks 脚本的执行时机,例如:文件读取前、文件读取后、文件写入前、文件写入后等。例如,在文件写入后自动执行代码格式化。


skills

Agent Skill(代理技能)是指 Claude 可以主动调用的一组预定义工具、函数、规则或提示词。每个 skills 都有自己的名称和描述,AI 模型在工作过程中按需使用特定的 skills。可以在 .claude/skills/~/.claude/skills/ 目录下创建隶属于当前项目或系统用户级别的 skills;推荐为每个 skills 技能都创建一个文件夹,因为一个 skills 技能可能是由多个 skills 文件以树形结构组成。skills 内容格式如下:


如下图,通过 /skills 命令可查看当前已生效的 skills,通常情况下创建后需要退出重新进入 claude code;


默认情况,AI 是在工作时意图识别要用到某个 skills 时,才会去调用;如下图,也可通过 /skills名称 来直接引用某个 skills ,这样更可控,让 AI 模型省去了意图识别的过程,而直接使用某个 skills ;


SubAgent

SubAgent(子代理)是一种将复杂任务拆解并分配给专门的“任务专员”来执行的机制。例如,要让 AI 模型执行一个审核代码的任务,这种任务与当前上下文没有任何关联,它是一个完全独立、运行后立即结束的任务;如果将这样的任务放在当前会话上下文中执行,会严重污染当前上下文,导致当前上下文充斥着大量无用、冗余的内容;因此,这种任务就特别适合交给 SubAgent 来执行,SubAgent 有自己独立的上下文、独立的工具、独立的 skills,不会污染当前上下文。SubAgent 与 skills 的写法、作用完全相同,区别就是 skills 在当前上下文中执行,而 SubAgent 在自己独立的上下文中执行。


a> 使用 /agents 命令管理 agent ;如下图,没有 agent,则选择创建新的 agent;


b>. 选择创建项目级别的 agent


c>. 使用推荐方式创建 agent


d>. 输出 agent 的描述


e>. 选择这个 agent 能够使用的工具

如下解读:

[x] All tools 表示启用所有工具。Agent 将拥有读写文件、执行终端命令等最高权限。

[x] Read-only tools 表示只读工具。Agent 只能查看文件结构、读取文件内容、分析代码,不能修改任何文件或运行命令。

[x] Edit tools 表示编辑工具。Agent 可以创建、修改和删除项目中的文件。

[x] Execution tools 表示执行工具。Agent 可以在你的终端运行 shell 命令(如 npm install, python script.py)。

[x] Other tools 表示其他工具。通常包含如浏览网页、搜索文档等辅助性技能。


f>. 选择此 agent 使用的 AI 模型

如下解读:

Inherit from parent:使用与主对话相同的模型。


g>. 选择此 agent 在会话中以什么颜色来显示:


h>. 是否允许此 agent 持久化记忆:( agent 可持久化记忆,以便下次执行时读取记忆 )

如下解读:

Enable (.claude/agent-memory/): 允许在当前项目中持久化记忆,这是推荐设置。

None (no persistent memory): 不保存记忆,每次对话都是新的;

User scope: 允许在用户主目录下保存记忆,可跨项目使用;

Local scope: 仅在当前项目目录下保存记忆;


I>. 生成的 agent 在 .claude 目录下,agent 的持久化记忆也会存储在 .claude 目录下;如图,agent 与 skills 的内容相同:


隐私和安全配置



项目内配置和使用



skill 等高阶使用


举报

© 著作权归作者所有


0