##必备键盘快捷键
掌握这些快捷键可以大幅提升你的工作效率。
###导航
| 快捷键 | 操作 |
|--------|------|
| Ctrl+C | 取消当前操作 |
| Ctrl+L | 清屏 |
| Ctrl+R | 搜索命令历史 |
| Tab | 自动补全命令 |
| ↑/↓ | 浏览历史记录 |
###编辑
| 快捷键 | 操作 |
|--------|------|
| Ctrl+A | 移动到行首 |
| Ctrl+E | 移动到行尾 |
| Ctrl+W | 向后删除单词 |
| Ctrl+U | 删除整行 |
| Ctrl+K | 删除到行尾 |
###会话控制
| 快捷键 | 操作 |
|--------|------|
| Ctrl+D | 退出OpenCode |
| Ctrl+Z | 挂起到后台 |
| Esc | 取消多行输入 |
##高效提示词技巧
###保持具体明确
不要这样写:
修复bug
应该这样写:
修复 src/utils/parser.ts 第45行的空指针异常,
该异常在解析空JSON数组时发生
###提供上下文
不要这样写:
添加验证
应该这样写:
在 components/SignupForm.tsx 的注册表单中添加邮箱验证,
使用 lib/validators.ts 中已有的验证工具
###使用分步指令
对于复杂任务,分解步骤:
我需要为API添加缓存层:
1. 首先,分析 src/api/ 中的当前API结构
2. 为GET端点设计缓存策略
3. 使用Redis实现,TTL设为5分钟
4. 在POST/PUT/DELETE时添加缓存失效
5. 为缓存逻辑编写测试
##斜杠命令
快捷命令提升效率:
| 命令 | 描述 |
|------|------|
| /help | 显示所有可用命令 |
| /clear | 清除对话历史 |
| /model | 切换AI模型 |
| /compact | 压缩对话 |
| /cost | 显示token使用和费用 |
| /diff | 显示待处理的文件更改 |
| /undo | 撤销上次文件更改 |
###自定义斜杠命令
在 ~/.config/opencode/commands.yaml 中创建自定义命令:
commands:
/review:
description: "代码审查当前更改"
prompt: |
审查当前git diff中的:
- 代码质量问题
- 潜在bug
- 安全隐患
- 性能问题
为发现的每个问题提供具体建议。
/commit:
description: "生成提交信息"
prompt: |
分析暂存的更改并生成符合规范的提交信息。
格式:<类型>(<范围>): <描述>
/doc:
description: "生成文档"
prompt: |
为选中的代码生成完整的JSDoc/TSDoc文档。
包含参数描述、返回类型和示例。
##上下文管理
###使用@引用
引用特定文件或符号:
@src/components/Button.tsx 添加悬停动画
@useAuth hook 添加token刷新逻辑
@package.json 更新React到最新版本
###目录上下文
处理整个目录:
@src/api/ 重构所有端点使用async/await
@tests/ 更新所有测试使用新的mock系统
###Git上下文
引用git状态:
@git:staged 在提交前审查这些更改
@git:branch:feature-auth 显示与main的差异
##工作流优化
###基于模板开发
为常见任务创建可重用的提示词:
你:/template component
OpenCode:正在创建新的React组件...
- 名称:[UserProfile]
- Props:[user: User, onEdit: () => void]
- 样式:[Tailwind CSS]
- 测试:[是]
###迭代式开发
逐步构建复杂功能:
步骤1:"创建产品的基本CRUD API"
步骤2:"为列表端点添加分页"
步骤3:"添加按类别和价格范围筛选"
步骤4:"为频繁访问的产品添加缓存"
步骤5:"添加完善的错误处理"
###并行任务
同时处理多个任务:
在你实现前端表单的同时,也:
1. 创建API端点
2. 设置表单验证schema
3. 编写集成测试
##配置技巧
###针对技术栈优化
# ~/.config/opencode/config.yaml
context:
# 自动包含相关文件
auto_include:
- "package.json"
- "tsconfig.json"
- ".env.example"
# 排除干扰
exclude_patterns:
- "node_modules/**"
- "dist/**"
- "*.log"
# 技术栈特定设置
presets:
react:
include: ["src/components/**", "src/hooks/**"]
api:
include: ["src/routes/**", "src/middleware/**"]
###自定义模型预设
model_presets:
quick:
model: claude-3-5-haiku
max_tokens: 1000
thorough:
model: claude-opus-4-20250514
max_tokens: 8000
temperature: 0.1
creative:
model: gpt-4o
temperature: 0.8
##性能优化
###1. 选择合适的模型
- 快速任务:使用Haiku或GPT-4o-mini
- 复杂分析:使用Opus或GPT-4o
- 大型代码库:使用Gemini的200万上下文
###2. 最小化上下文
# 只包含必要文件
context:
max_files: 20
max_tokens: 50000
###3. 启用缓存
cache:
enabled: true
ttl: 3600 # 1小时
max_size: 100MB
###4. 使用压缩模式
长会话时压缩上下文:
/compact
##调试技巧
###详细模式
查看OpenCode的操作:
opencode --verbose
# 或
export OPENCODE_DEBUG=1
###查看Token使用
实时监控费用:
/cost
###检查上下文
查看包含了哪些文件:
/context show
##最佳实践
###1. 先理解再行动
在修改前:
分析这个代码库中的认证流程,解释用户会话是如何管理的。
###2. 接受前先审查
始终审查建议的更改:
/diff
###3. 频繁提交
使用原子提交:
/commit
git push
###4. 边开发边写文档
与代码一起生成文档:
实现这个函数后,添加JSDoc文档。
###5. 测试驱动方法
先写测试:
先为用户注册编写失败的测试,然后实现功能使测试通过。
##常用模式
###Bug修复模式
1. "显示错误和第X行附近的相关代码"
2. "什么导致了这个问题?"
3. "修复bug并添加测试防止回归"
4. "/diff" 审查
5. "/commit" 带描述性信息
###功能开发模式
1. "分析类似功能是如何实现的"
2. "规划[功能]的实现"
3. "逐步实现,从[组件]开始"
4. "为新功能添加测试"
5. "更新文档"
###代码审查模式
1. "@git:staged 审查这些更改"
2. "关注[安全性/性能/可读性]"
3. "建议改进"
4. "应用批准的建议"