Claude Code 用了大半年才悟出来的 6 个技巧,第 3 个直接省一半 Token

用了大半年的Claude Code,我发现很多人都还停留在一问一答的交流模式中,今天说一下在实际项目中我反复验证过的6个进阶技巧,每一个都可以让你少踩坑、省Token、效率更快。

技巧一:编辑CLAUDE.md文件,让AI更懂你的项目

CLAUDE.md 是 Claude Code 的项目级配置文件,它就像一个"入职手册"一样,每次启动时,都会先读取下这个文件,让AI对你的项目有个大致的了解。

CLAUDE.md文件的正确写法如下:

主要写项目的约束,不要长篇大论的描述

例:

# ❌ 低效:纯描述文案
这是一个 VUE + ELEMENT UI 项目。

# ✅ 高效:写约束
该项目是部署在 xx 上,在运行时严谨使用 xx 模块。
所有组件优先使用 xx,命名变量时使用驼峰命名。。。

项目大致的约束写完,claude就会对你的项目有了初步的印象,它也就不会在问你一些"傻瓜"问题了。

技巧二:运行模式切换(快捷键Shift + Tab)

claude有以下运行模式:

  1. Plan Mode:当前模式下,Claude 只做分析和规划,会告诉你:要改哪些文件、每个文件的改动点以及潜在的风险点。
  2. Auto mode:自动为每项任务选择最佳模式,不需要确认
  3. Edit automatically:编辑您所选的文本或整个文件
  4. Ask before edits(默认模式):修改前会先询问你,得到你的批准再进行操作

为什么要切换模式?

在实际开发过程中,往往都需要改多个文件,如果我们直接让claude改,就会出现以下问题:

  • 选中单个文件一个一个的改(费事时效率低)。
  • 多个文件一起改,结果claude改了不该改的文件,引发一系列的bug,亦或是改到一半发现方向不对,结果对话越描越黑,正个垮掉。

因此我们可以把写代码拆分成两部分:

  1. 先用Plan Mode 提前探索,确认方向,知道具体改什么 改哪些文件
  2. 然后再切回普通模式"执行修改"。
    这样clude就会按照我们既定的方向修改啦!高效不迷路,完美~

技巧三:精准投喂上下文(省Token利器)

三个立即可用的方法:

精准投喂,不要全量读取项目

# ❌ 低效
"帮我找下项目中的Bug"

# ✅ 高效
"我怀疑问题在xx/xx.vue文件下,帮我找下出现Bug的原因

配置 .claudeignore,不要只排除 node_modules

# 这些文件不该进上下文
*.generated.ts# 自动生成的代码
*.lock# 锁文件
dist/ build/# 构建产物
...

像一些样式或纯图片的文件,自认为也可以忽略掉,毕竟纯静态文件,不涉及交互。

会话太长时,可以使用/compact

/compact 15# 保留最近 15 轮对话,之前的压缩为摘要

这样你就可以始终保持高质量的输出,而不是发福的开始新对话。

技巧四:Hooks,让Claude"守规矩"。

什么是Hooks?

它是用户自定义的,在Claude生命周期的特定时机自动执行的命令。
Hooks 定义在Claud的设置文件中,你可将它们添加到:

  • 全局 —— ~/.claude/settings.json(作用于所有项目)
  • 项目级 —— .claude/settings.json(团队共享)
  • 项目本地(不提交) —— .claude/settings.local.json(个人配置)

配置结果主要包含两部分:

  • PreToolUse:在工具调用前运行
  • PostToolUse hooks : 在工具调用后运行

懒人配置法,请直接和claude说:

{
"hooks": {
"PostToolUse": [
{
"matcher":"Edit|Write",
"hooks": [
{
"type":"command",
"command":"if echo \"$CLAUDE_TOOL_PARAM_file_path\" | grep -q '/src/\\|\\\\src\\\\'; then cd 'e:/cy/middle-end-ui' && npx vue-cli-service test:unit --passWithNoTests 2>&1 | tail -20; fi"
}
]
}
]
}
}

这样就可以啦,每次修改完代码,它就可以自动跑任务进行测试喽~ 又省去了一部分操作,摸鱼走起~

技巧五:自定义 Slash Commands,把重复工作一键化

如果你每次修改完代码都需要检查,提交前code-review,还要生成changelog那就把他们做成自定义命令。

以code-review为例:步骤如下:

  1. .claude/commands/目录下创建 Markdown 文件(code-review.md)
  2. 在文档中输入命令
# .claude/commands/code-review.md

对 $ARGUMENTS 中的改动做 Code Review。

审查重点:
1.安全漏洞和可能导致崩溃的 Bug(Critical)
2.逻辑正确性和边界条件
3.是否存在未处理的异常路径

输出格式:
-Critical:列出致命问题
-Warning:列出潜在风险
-Suggestion:改进建议

关键技巧:命令里要有验收标准。明确了"怎么样算完成",Claude 就不会敷衍了事。

技巧六:把 Git 工作流交给 Claude,Commit Message 别再手写了

Commit Message 自动生成

完成一个功能后,直接让 Claude Code 生成 Conventional Commits 格式的提交信息:

根据这次修改的内容,生成 Conventional Commits 格式的 commit message。
格式:type(scope): subject
如果有 breaking change,请单独标注。

Claude 会基于你实际的 diff 内容生成准确的提交信息——比你自己绞尽脑汁写的更规范。

PR 描述一键生成

根据 git diff,生成一个 GitHub PR 描述:

## Summary
## Motivation
## Testing
## Screenshots

管道模式,直接嵌入你的脚本

# 在 git hook 或 CI 中使用
git diff | claude -p"为这些改动写一条 commit message"

cat error.log | claude -p"分析这些错误日志并给出修复建议"

这种"管道传上下文"的方式,让 Claude Code 变成了一个可以嵌入任何工作流的 Unix 工具,而不是一个需要单独打开的独立应用。

附:快捷键与命令速查(建议收藏)

前面 6 个技巧是"心法",下面这部分是"招式"。把这些快捷键练成肌肉记忆,你的操作速度会比别人快一大截。

通用快捷键

快捷键作用说明
Ctrl + C取消当前输入或生成想让它停下来就按这个
Ctrl + D退出会话下班走人
Escape中断当前回答发现方向不对立刻打断
Shift + Tab切换权限模式默认 → 接受编辑 → 计划模式,循环切
Ctrl + L清屏屏幕乱了就清一下,对话历史保留
Ctrl + R反向搜索命令历史找之前输过的命令
Ctrl + O切换详细输出想看工具调用细节时打开
Ctrl + G在默认编辑器中打开编辑长提示词或自定义响应
Ctrl + V从剪贴板粘贴图片直接把截图丢进去分析
↑ / ↓导航命令历史回顾之前输过的内容
Esc + Esc回退或摘要恢复到之前的代码/对话节点

权限弹窗快捷键

每次 Claude 要执行高危操作时,会弹出确认窗口。这几个键帮你快速决策:

快捷键作用
YEnter同意执行
EscapeN拒绝
↑ / ↓在选项间切换
Space勾选 / 取消勾选
Tab切换到下一个选项区域

必知的 Slash 命令

/就能看到所有命令,但下面这几个是你最常用的:

命令作用使用场景
/help列出所有命令不确定有没有某个命令时
/init扫描项目自动生成 CLAUDE.md新项目第一件事
/clear完全清空对话历史切换完全无关的新任务时
/compact压缩对话,保留核心摘要上下文快满了但还需它记住前文
/model切换模型(Opus / Sonnet / Haiku)不同任务用不同模型
/cost查看当前会话 Token 消耗和费用养成习惯,随时看花销
/context可视化上下文窗口占用情况感觉它忘事了就查一下
/rewind回滚到之前的检查点改错了想回头
/resume恢复历史会话昨天没干完,今天继续
/doctor诊断安装和运行环境问题出问题了先跑这个
/export导出当前对话记录存档或分享

小提示

1、/clear 还是 /compact?新人最容易踩的坑

这两个命令很容易用混,但后果完全不同:

  • /clear:直接清空上下文,重新来过,之前说的内容也不会记录。适合完全不相干的新任务。
  • /compact:对话太长时,把历史记录压缩成为要点摘要。不清空上下文。

判断标准就一句:接下来还要不要它记得前面的事?要 → /compact,不要 → /clear。

小贴士:Ctrl + C不会退出 Claude Code,只是中断当前回答。连按两次才会提示退出。另外,macOS 用户注意把终端里的 Option 键设为 Meta,不然部分快捷键会失灵。

尾声

Claude Code 本质上是一个需要被管理的新同事,它不是一把"万能扳手"。你花在"教它怎么干活"上的每一分钟,都会在后续的工作中被成倍地还回来。