经过前几章的配置,大多数情况下 OpenCode 可以正常工作。但若遇到补全不触发、快捷键失灵、生成结果错乱等功能异常,可按照以下现象对照排查,无需直接重装。
1. 代码补全完全不触发
现象:输入代码后 3–5 秒内没有任何灰色提示,连最简单的关键字补全也没有。
排查步骤:
- 先看状态栏图标。若显示红色感叹号或灰色离线标识,说明模型连接已断开,优先按 2.2 节重新测试连接。
- 确认当前文件类型在支持范围内。纯文本(
.txt)、日志文件或某些配置文件默认不触发补全;切换到.py、.java、.js等源码文件再试。 - 检查文件是否被排除。若当前文件位于
node_modules、.git或你手动设置的排除目录中,OpenCode 会跳过解析(参考 2.3 节)。 - 使用本地模型时,在终端执行
ollama ps或查看 vLLM 进程,确认模型仍在显存中,而非因闲置过久被卸载。
2. 补全内容明显“跑题”
现象:提示的代码与当前上下文无关,甚至引用了不存在的变量或库。
排查步骤:
- 项目索引可能未同步。新建文件或大规模重构后,等待 10–20 秒让 IDE 完成索引;仍无效则重启 IDE。
- 上下文窗口被截断。当前文件超过几千行时,模型可能只能看到文件尾部。将光标附近的逻辑整理到独立函数中,或缩小当前编辑范围。
- 确认当前使用的是代码专用模型(如
deepseek-coder、qwen2.5-coder)。若误把通用对话模型设为补全模型,容易出现“胡言乱语”。
3. 快捷键冲突或失效
现象:按 Tab 无法采纳建议,或 Ctrl+Shift+A 唤不出侧边栏。
排查步骤:
- 检查是否同时安装了 GitHub Copilot、Emmet、代码片段插件。这些工具都会抢占
Tab键。在 IDE 键盘设置中搜索OpenCode: Accept Completion,确认键位是否被覆盖(参考 2.3.3 节)。 - 切换为英文输入法再试。中文输入法(尤其是旧版搜狗、QQ 拼音)可能拦截
Ctrl+Shift开头的组合键。 - 若键位自定义后逻辑混乱,在 IDE 键位设置中右键 OpenCode 相关条目,选择「重置键位」。
4. 侧边栏对话报错或返回空内容
现象:提问后转圈超过 30 秒,或直接提示 Request failed、Error: 400。
排查步骤:
- 查看具体报错码:
401/403:API Key 失效或 Token 过期,重新登录或更换密钥。429:触发限流,等待 1–2 分钟,或临时切换到其他模型。504/timeout:网络不通或代理异常,检查系统代理或 OpenCode 设置中的代理配置(参考 2.2.1 节)。- 减少附加上下文。一次性选中几千行代码再提问,容易超出模型长度限制;先选中核心片段,或在新对话中重试。
- 若返回内容为空但无报错,可能是模型输出被安全策略拦截,尝试简化提问措辞。
5. 生成代码格式混乱
现象:缩进错乱、括号不匹配、中文注释显示为乱码。
排查步骤:
- 开启保存时自动格式化(参考 2.3.2 节),让 IDE 的 Prettier/Black 等工具在保存瞬间修正格式。
- 统一换行符为 LF(Unix 风格)。CRLF 环境下模型偶尔会在行尾产生冗余符号。
- 检查文件编码是否为 UTF-8。GBK 编码下中文注释必然乱码,在 IDE 右下角将编码切换为 UTF-8 后重新生成。
6. 反复要求登录或授权失效
现象:每次重启 IDE 都弹出登录框,或状态栏显示“未授权”。
排查步骤:
- 企业版若限制同时在线设备数,超出后会被踢下线。联系管理员确认席位,或主动在其他设备上退出。
- 检查本机系统时间。时间偏差超过 5 分钟会导致 OAuth 校验失败,表现就是“刚登录就失效”。
- 若使用浏览器授权后无法回跳,改为手动复制 Token 粘贴到 IDE 中(参考 2.1 节各系统安装提示)。
7. IDE 卡顿或内存占用异常
现象:开启 OpenCode 后,打字延迟明显,或 IDE 提示内存不足。
排查步骤:
- 立即检查是否打开了超大文件(如几 MB 的日志、生成的 JSON、minified 文件)。将这些目录加入排除列表(参考 2.3 节)。
- 本地模型运行时,按
Ctrl+Alt+Del/Cmd+空格打开系统监视器,观察显存是否占满。若显存不足,补全会 fallback 到 CPU 推理,导致整机卡顿;此时应关闭部分程序,或换用更小的模型。 - JetBrains 用户可在
Help→Edit Custom VM Options中适当提高 JVM 堆内存(如-Xmx4096m),缓解大型项目下的 GC 压力。
通用恢复手段
若以上排查均无效,按顺序尝试:
- 在 OpenCode 设置页点击「重置所有设置」,恢复插件初始状态。
- 禁用后重新启用插件,或彻底卸载再重装(卸载后建议重启一次 IDE)。
- 收集日志反馈:VS Code 按
Ctrl+Shift+I打开开发者工具,在 Console 中搜索OpenCode;JetBrains 通过Help→Show Log in Explorer找到idea.log,将包含OpenCode关键字的报错片段提交给技术支持。