斜杠命令
创建自定义斜杠命令,通过简单的 Markdown 文件自动化重复性任务并扩展 Roo Code 的功能。
在聊天中输入 / 以选择命令。要创建或管理命令,请打开设置 > 斜杠命令。您仍然可以将命令存储在 .roo/commands/(项目)或 ~/.roo/commands/(全局)中。
概述
斜杠命令允许您创建可重复使用的提示和工作流,这些提示和工作流可以即时触发。将复杂的多步骤流程转换为单个命令,标准化团队实践,并通过简单的 Markdown 文件自动化重复性任务。
主要优势:
- 工作流自动化:将复杂的多步骤流程转换为单个命令
- 团队标准化:在团队中共享命令以保持一致的实践
- 上下文保留:在每个命令中包含项目特定的上下文
- 快速访问:模糊搜索和自动补全以实现即时命令发现
创建自定义命令
自定义命令通过将 Markdown 文件添加到特定目录来扩展 Roo Code 的功能:
- 项目特定:工作区根目录中的
.roo/commands/ - 全局:主目录中的
~/.roo/commands/
文件名成为命令名。例如:
review.md→/reviewtest-api.md→/test-apideploy-check.md→/deploy-check
在设置 > 斜杠命令中创建命令时,命令名会自动处理:
- 转换为小写
- 空格替换为连字符
- 删除特殊字符(连字符除外)
- 连续的多个连字符替换为单个连字符
- 删除前导/尾随连字符
示例:"My Cool Command!" 变为 my-cool-command
基本命令格式
通过添加 Markdown 文件创建简单命令:
# review.md
请审查此代码:
- 性能问题
- 安全漏洞
- 代码风格违规
- 潜在错误
带前言的高级命令
使用前言添加元数据以增强功能:
---
description: 专注于安全和性能的综合代码审查
argument-hint: <要审查的文件或目录>
---
# 安全优先代码审查
请对所选代码进行全面的安全审查:
1. **身份验证和授权**
- 检查适当的访问控制
- 验证令牌验证
- 审查权限检查
2. **输入验证**
- 识别潜在的注入点
- 检查适当的清理
- 审查数据类型验证
3. **安全最佳实践**
- 查找硬编码的密钥
- 检查安全通信
- 审查错误处理以防止信息泄露
前言字段:
description:出现在命令菜单中,帮助用户理解命令的目的argument-hint:(可选)在使用命令时提供关于预期参数的提示。详见 参数提示
命令管理
从设置中创建和维护命令。
- 点击 Roo Code 中的齿轮图标并打开设置
- 转到斜杠命令选项卡
- 点击"新建命令",命名并选择位置(项目或全局)
- 命令文件打开,包含启动模板内容
使用斜杠命令
在聊天中输入 / 以打开仅选择的命令菜单。使用齿轮图标打开设置 > 斜杠命令以创建和编辑命令。
- 仅选择:从现有命令中选择;创建和编辑在设置中
- 自动补全:开始键入以筛选命令(例如,
/sam显示sample-command-name) - 描述预览:在菜单中查看命令描述
- 命令优先级:项目命令覆盖同名的全局命令
参数提示
参数提示为斜杠命令提供即时帮助,显示命令需要额外输入时应提供什么类型的信息。
当您键入 / 打开命令菜单时,需要参数的命令会显示一个浅灰色提示。此提示告诉您命令期望什么类型的参数。
例如:
/mode <mode_slug>- 提示<mode_slug>表示您应提供模式名称,如code或debug/api-endpoint <endpoint-name> <http-method>- 显示您需要端点名称和 HTTP 方法
选择命令后,它将被插入聊天输入框,后跟一个空格。提示不会被插入;它仅作为视觉指南,帮助您知道接下来要键入什么。然后您必须在命令后手动键入参数。
为自定义命令添加参数提示
您可以使用前言中的 argument-hint 字段为自定义命令添加参数提示:
---
description: 使用最佳实践生成新的 REST API 端点
argument-hint: <endpoint-name> <http-method>
---
这将在命令菜单中显示为 /api-endpoint <endpoint-name> <http-method>。
参数提示最佳实践:
- 具体化:使用描述性占位符,如
<file-path>而非通用占位符如<arg> - 显示多个参数:如果命令需要多个输入,请全部显示:
<source> <destination> - 使用一致格式:始终用尖括号包装占位符:
<placeholder> - 保持简洁:提示应简洁明了
常见问题:
- "如果我不提供参数怎么办?" 命令可能无法按预期工作,或者可能提示您获取更多信息。提示的存在是为了帮助您第一次就做对。
- "所有命令都有提示吗?" 不是,只有设计为接受参数的命令才有提示。不需要额外输入即可工作的命令不会显示提示。
- "我可以在不替换提示的情况下使用命令吗?" 提示文本(如
<mode_slug>)需要替换为实际值。保留提示文本可能导致命令失败或行为异常。
示例和用例
开发工作流
API 端点生成器
---
description: 使用最佳实践生成新的 REST API 端点
argument-hint: <endpoint-name> <http-method>
---
创建一个具有以下规范的新 REST API 端点:
- 适当的错误处理
- 输入验证
- 身份验证中间件
- OpenAPI 文档
- 单元测试
- 集成测试
遵循我们项目的 API 约定和模式。
数据库迁移助手
---
description: 创建具有回滚支持的数据库迁移
---
生成一个数据库迁移,包括:
1. 向上和向下迁移
2. 适当的事务处理
3. 包含数据验证
4. 提供清晰的迁移描述
5. 遵循我们的命名约定
记住检查依赖的迁移和数据完整性。
代码质量
性能分析器
---
description: 分析代码的性能瓶颈
---
分析所选代码的性能问题:
- 识别 O(n²) 或更差的算法
- 查找不必要的数据库查询
- 检测内存泄漏
- 建议缓存机会
- 推荐 async/await 优化
- 检查适当的资源清理
重构助手
---
description: 为更清洁的代码建议重构改进
---
审查此代码并建议重构改进:
- 将重复代码提取为函数
- 改进变量和函数名
- 简化复杂条件
- 应用 SOLID 原则
- 减少组件间的耦合
- 提高可测试性
文档
README 生成器
---
description: 为当前项目创建全面的 README
---
生成包含以下内容的 README.md 文件:
1. 项目标题和描述
2. 安装说明
3. 使用示例
4. API 文档
5. 配置选项
6. 贡献指南
7. 许可证信息
基于当前项目结构和现有代码。
API 文档
---
description: 生成 OpenAPI/Swagger 文档
---
为该文件中的 API 端点创建 OpenAPI 3.0 文档:
- 包含所有 HTTP 方法
- 记录请求/响应模式
- 添加示例请求和响应
- 包含身份验证要求
- 记录错误响应
- 添加描述性摘要
测试
测试生成器
---
description: 生成综合测试套件
---
为所选代码创建测试:
1. 所有公共方法的单元测试
2. 边缘情况测试
3. 错误处理测试
4. 模拟外部依赖
5. 性能基准测试
6. 适用时的集成测试
使用我们项目的测试框架和约定。
测试覆盖率分析器
---
description: 识别缺失的测试覆盖率
---
分析当前测试覆盖率并:
- 识别未测试的代码路径
- 建议额外的测试用例
- 查找未覆盖的边缘情况
- 建议集成测试
- 检查适当的错误测试
最佳实践
命令命名:
- 使用描述性、面向操作的名称
- 保持名称简洁但清晰
- 对多词命令使用连字符
- 避免通用名称如
help或test - 注意:名称会自动 slug 化(小写,删除特殊字符)
.md扩展名会自动添加/删除
命令内容:
- 以清晰的指令开始
- 使用结构化格式(列表、章节)
- 包含特定要求
- 引用项目约定
- 保持命令专注于单一任务
组织:
- 在子目录中分组相关命令
- 使用一致的命名模式
- 记录复杂命令
- 对命令进行版本控制
- 在项目仓库中共享团队命令
内置命令
Roo Code 包含强大的内置命令,提供专门的功能:
init 命令
/init 命令是一个全面的 AI 助手设置工具,分析您的代码库并创建定制的配置文件。这个强大的命令:
执行多阶段分析:
- 发现阶段:扫描您的项目结构并识别关键技术
- 项目识别:确定项目类型、框架和依赖项
- 架构映射:分析代码组织和模式
- 构建/测试检测:识别构建工具、测试框架和脚本
- 代码风格提取:捕获编码约定和模式
创建 AI 助手配置:
- 在
.roo/rules-*目录中生成特定模式的AGENTS.md文件 - 为不同的 AI 助手模式(代码、架构、调试等)创建详细的规则
- 生成简洁、高信号的文档,遵循"仅非显而易见"原则
- 支持多种 AI 助手格式(Claude、Cursor、Copilot)
管理项目设置:
- 创建全面的项目初始化待办列表
- 识别安全和性能考虑因素
- 记录项目特定的约定和模式
- 执行生成文档的质量标准
用法:
只需在聊天中键入 /init 即可分析您的代码库并设置针对您项目定制的 AI 助手配置文件。
当开始新项目或希望在团队中建立一致的 AI 助手行为时,init 命令特别有用。
故障排除
命令未出现:
- 检查文件位置:确保自定义命令文件在
.roo/commands/或~/.roo/commands/中 - 验证文件扩展名:自定义命令必须是
.md文件 - 重新加载窗口:有时 VS Code 需要重新加载以检测新命令文件
命令未找到: 当斜杠命令未找到时,LLM 会看到一条错误消息,指示命令应位于何处。这有助于指导您在正确的位置创建命令。
命令模板内容: 通过 UI 创建的新命令接收模板内容以帮助您入门。此模板包括基本结构和示例,您可以自定义。
命令冲突:
- 项目命令(
.roo/commands/)覆盖同名的全局命令(~/.roo/commands/) - 内置命令无法被覆盖
- 通过 UI 创建重复名称时,会附加数字(例如,
new-command-1、new-command-2)
文件系统错误:
- 权限问题:确保您对
.roo/commands/目录有写权限 - 目录创建:如果命令目录不存在,系统会尝试创建
- 符号链接:命令目录支持符号链接以在项目间共享命令