首页 > 基础资料 博客日记
Claude Code通关手册(四):自定义命令,告别手敲重复指令
2026-04-09 17:30:02基础资料围观1次
这是Claude Code通关手册的第四篇,这一篇我们要解锁一个让你效率再翻倍的功能——自定义命令。把那些每天都在敲的重复指令、复杂流程,变成一条简单的斜杠命令,从此告别手打。
你有没有这样的经历:
- 帮我检查一下代码风格,用 Google Java Format
- 帮我生成一下测试用例,用 JUnit 5,Mockito ,覆盖分支,测试类命名要
xxxTest - 帮我review一下修改的代码,生成报告
- ......
一两次倒还好,每天重复的输入实在是太累了,如果这些操作能变成一个斜杠命令,比如 /test 就自动生成单元测试,或者 /build 就运行编译 + 测试,那该多爽?
Claude Code 的自定义命令(Commands)就是干这个的。
自定义命令是什么?
简单说,就是 把一段你经常用到的提示词、指令甚至脚本,打包成一个以 / 开头的快捷命令。
比如你创建一个 /test 命令,里面写:
请为当前打开的 Java 类生成 JUnit 5 单元测试,覆盖主要分支,使用 Mockito mock 依赖。测试类放到 `src/test/java` 下,类名加上 `Test` 后缀。
之后,你只要在 Claude Code 里敲 /test,它就会自动按这个套路生成测试。不用每次再啰嗦一遍。
如何创建自定义命令?
在项目根目录或者全局~/.claude/下,创建commands文件夹,并在这个文件夹下创建一个名为test.md的文件,文件内输入以下内容
请当前打开的文件编写 JUnit 5 单元测试。
要求:
- 使用 JUnit 5 和 Mockito
- 覆盖主要业务分支
- 测试类名 = 原类名 + "Test"
- 放到 src/test/java 对应的包路径下
- Mock 外部依赖,不要发真实网络请求
在 Claude Code 会话中,直接输入 /test,Claude 就会读取这个文件的内容,并按照你的要求执行。
就这么简单。没有复杂的配置,不需要写代码。
进阶玩法一:接收命令参数
文档中可以使用$ARGUMENTS占位符接收命令参数
为以下代码生成完整的单元测试。
要求:
- 使用 JUnit 5 和 Mockito
- 覆盖主要业务分支
- 测试类名 = 原类名 + "Test"
- 放到 src/test/java 对应的包路径下
- Mock 外部依赖,不要发真实网络请求
$ARGUMENTS
直接输入 /test 具体的文件/目录,Claude Code就会根据命令中的文件或者目录执行对应的指令。
除了使用 $ARGUMENTS参数占位符,Claude Code CLI中也支持通过 $1、$2等位置参数。
$1:第一个参数$2:第二个参数$ARGUMENTS:整段参数
进阶玩法二:加上 YAML 头部
你可以在 .md 文件顶部加一段 YAML frontmatter,用来控制命令的行为(比如描述、参数、执行脚本等)。
---
description: "生成单元测试"
argument-hint: <文件或目录路径>
---
为以下代码生成完整的单元测试。
要求:
- 使用 JUnit 5 和 Mockito
- 覆盖主要业务分支
- 测试类名 = 原类名 + "Test"
- 放到 src/test/java 对应的包路径下
- Mock 外部依赖,不要发真实网络请求
$ARGUMENTS
然后在对话中输入 /test OrderService,就会自动为OrderService生成单元测试。
注意:这个命令头部的 YAML frontmatter 部分——description 和 argument-hint 不是必须的,但加上它们之后,你输入/test时会显示这个命令的作用以及参数的提示,非常方便。
除了 description 和 argument-hint,它还支持更多配置:
- allowed-tools:这个命令可以用的工具白名单
- model:强制用指定模型执行这个命令
- context: fork:在独立子代理中执行,不污染主对话
- agent:指定用哪个子代理执行
特别说一下 model 字段——这个非常实用。比如 /commit 这种简单的命令(生成 commit message),没必要用最强的 Opus,指定用 Haiku 就够了,又快又省钱。
进阶玩法三:执行本地脚本
自定义命令不光能发提示词,还能直接执行你电脑上的脚本。
在 YAML 中指定 execute 字段:
---
execute: "scripts/run-tests.sh"
---
Claude Code 会运行这个脚本,并把输出结果给你看。比如你可以写一个 deploy.sh,然后敲 /deploy 就能一键部署到测试环境。
进阶玩法四:/simplify
/simplify是 Claude Code 内置的一个命令,其核心目的是对代码进行诊断和手术,主动发现问题并直接动手优化代码。该命令启动3个并行Agent,从复用性、质量、效率三个维度分析,直接应用优化。
它的强大之处在于并行性:它不是一个一个地解决问题,而是同时启动三个Agent,从三个角度一起下手,效率自然翻倍。
不过需要注意的是,这个命令会直接修改你的文件。在执行 /simplify 后,建议先用 git diff 检查一下它的修改,确保一切符合你的预期。
对于开发人员来说,这个命令是必须牢记于心且经常使用的。
进阶玩法五:/review
/review 是 Claude Code 内置的一个命令,其核心目的在于对现有代码变更进行分析和报告,指出潜在风险,但通常不直接修改代码。该命令通过分析代码或 Git Diff,提供全面的代码审查报告,涵盖风险、问题和改进建议。
/review 负责“事后审查”:在创建了PR之后,针对你的PR的变更内容运行 /review。把它当作一位同事帮你做审查,确保没有遗漏任何潜在的逻辑错误或架构问题,然后再将PR发送给团队的其他人。
实战例子
/build:一键编译+测试
---
description: "编译并运行所有单元测试"
---
请执行以下命令:
1. `mvn clean compile` — 编译项目
2. `mvn test` — 运行所有单元测试
如果编译或测试失败,请分析错误原因并给出修复建议。
/checkstyle:代码规范检查
---
description: "检查代码风格是否符合团队规范"
---
请检查当前打开的 Java 文件是否符合以下规范:
- 类名使用大驼峰
- 方法长度不超过 50 行
- 所有 public 方法有 JavaDoc
- 禁止 `System.out.println`,必须用 log
- 如有违规,请给出具体位置和修改建议。
/doc:组件文档生成
---
description: "为当前选中的组件/类生成标准技术文档"
argument-hint: <文件或目录路径>
---
请为 $ARGUMENTS 生成一份完整的技术文档。
## 文档结构要求
1. **概述**:一句话说明该组件/类的功能。
2. **API 列表**:
- 对于前端组件:列出 Props / Slots / Events / Methods
- 对于后端 Java 类:列出 public 方法、参数、返回值、异常
3. **使用示例**:至少一个完整的最小示例代码。
4. **注意事项**:性能、兼容性、依赖或常见错误。
## 输出格式
使用 Markdown,包含标题、表格(用于 API)、代码块(示例)。
## 额外规则
- 从当前打开的文件或传入的参数 $ARGUMENTS 中读取实际代码。
- 如果无法获取代码,提示用户提供文件路径或粘贴代码。
- 对于 TypeScript 组件,优先从类型定义推断 Props 类型。
- 对于 Java 类,使用 JavaDoc 注释作为文档基础,自动补充未注释的方法。
/commit:生成提交
---
description: 自动 commit 当前改动
allowed-tools: Bash(git status:*), Bash(git diff:*), Bash(git add:*), Bash(git commit:*)
model: claude-3-5-haiku-20241022
---
## 上下文
- 当前 git 状态:!`git status`
- 当前改动详情:!`git diff HEAD`
## 任务
基于以上改动,生成一个规范的 commit message 并提交。
格式要求:type(scope): description
- type: feat / fix / docs / refactor / test / chore
- scope: 改动涉及的模块(如 blog、auth、api)
- description: 简短的英文描述
$ARGUMENTS
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:

