Claude code 技巧
常用技巧
输入单号 ! 进入命令行模式
按快捷键 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 就会完全放飞,做任何事情都不再征求用户同意,这在理论上会有小一定的风险(风险一般较小)。
设置全局规则
进入 claude , 通过 /memory 命令修改系统用户级的规范文件,如下图:

规范内容如下:
# 全局规范指令
## 1. 语言强制要求
- **文档输出**:所有由 spec-kit 触发生成的 Markdown 文件(spec.md, plan.md, tasks.md, architecture.md 等)必须**全程使用简体中文**。
- **代码注释**:代码中的所有 Docstring、行内注释、TODO 说明**必须使用中文**。
- **Git 规范**:所有的 Git Commit Message 必须使用中文。
## 2. 技术表达规范
- **代码命名**:变量、函数、类名及文件名保持**英文**。
- **术语处理**:常见的技术术语(如 Middleware, Token, Hooks)可以保留英文,但周围的解释必须是中文。
## 3. spec-kit 专项执行逻辑
- 执行 `/speckit.specify` 时:需求描述、业务逻辑、验收标准必须用中文细化。
- 执行 `/speckit.plan` 时:技术选型理由、步骤说明必须用中文。
- 严禁在生成过程中出现中英文夹杂导致阅读断层的情况。
配置 Ctrl + g 默认编辑器
a>. 打开 PowerShell , 执行命令 code,确认打开的是 vscode;(如果不是,则要进行修复)
注:Cursor 完全基于 vscode 开发,实测安装 Cursor 后会与 vscode 冲突,导致 vscode 异常;因此,安装 cursor 时请勿勾选“添加到右键菜单”、“添加到注册表”等选项;
b>. 打开 PowerShell,执行如下命令设置 claude code 中 Ctrl + g 的默认编辑器:
[Environment]::SetEnvironmentVariable("EDITOR", "code --wait", "User")
对话阻塞和任务管理
如下图,执行有些命令后会阻塞会话,此时输入对话内容并不会有任何作用,因为命令阻塞了当前对话;

按 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 的内容相同:

Plugin 插件
Plugin 是用于扩展 Agent 能力的组件,它由 SubAgent、Skills、Mcp、Hooks 等组成;安装 Plugin 可以使用 Agent 立即获取某项能力。
a>. 通过 /plugin 命令进入插件管理器( Discover是发现插件、Installed是插件市场、Marketplaces是插件市场)

b>. 安装插件时,需要选择安装范围

注:安装插件后,需要重启 Claude code
c>. Plugin 中可能包含 SubAgent、Skills、Mcp、Hooks 等,安装完组件后,在组件详情中可查看组件包含哪些内容,如下图:

如下图,如果组件包含了 skills ,则在 skills 管理器中也能看到该组件所安装的 skills:

d>. 使用组件,如果已经安装了一个名为 frontend-design 的插件;如下图,可直接要求 AI 模型按照此组件的要求来工作:

frontend-design 是一个前端插件,用于约束模型生成的UI界面的风格;