CodeGeeX 插件需状态栏显示“Ready”才可用,否则Ctrl+I无效;生成代码须在Page({})内空白处用干净祈使句指令;AI输出需手动校验语法、全局变量及setData格式,并补全业务上下文逻辑。

CodeGeeX 插件必须显示 “Ready” 才能触发生成
插件装完不等于能用——右下角状态栏没出现 CodeGeeX 图标或未显示 Ready,Ctrl+I 就不会弹出输入框。常见原因是安装后没点“重新加载”,或 VSCode 启动时插件被禁用。
- 打开命令面板(
Ctrl+Shift+P),搜Extensions: Show Enabled Extensions,确认CodeGeeX在列表里且开关为开启 - 如果图标灰了,右键 →
Enable (Workspace)或Enable (Global) - 重启 VSCode 后仍不显示
Ready,检查是否启用了其他冲突的 AI 插件(如 Copilot++ Pro 与 CodeGeeX 同时启用时可能抢占通道)
在 Page({}) 内按 Ctrl+I 输入祈使句指令
生成位置必须在小程序 Page 对象内部,光标落在 {} 之间空白处才有效;指令必须是干净的祈使句,带“请”“帮忙”“谢谢”会降低识别率。
- 正确示例:
生成 onShow 函数,调用 wx.login 获取 code,再 wx.request 请求后端接口,成功后 this.setData 更新 userInfo.name 和 userInfo.avatarUrl - 错误示例:
能不能帮我写个 onShow?最好带上 wx.request……→ AI 容易漏掉关键参数或嵌套层级 - 若生成结果含已废弃 API(如
wx.getUserInfo),立刻重试,并在指令末尾加限定:适配基础库 2.28.0+,不使用 getUserInfo
生成代码必须手动校验三类违规项
AI 输出不是即插即用——它可能引入小程序环境不支持的语法、全局变量或非法调用,直接运行大概率报错。
- 删掉所有
fetch()、new Promise()外部封装、globalThis或window引用(小程序 JS 环境无这些) - 检查是否有
let globalData = {}这类 Page 外声明的可变全局对象,必须移到App({})或用模块导出替代 -
setData必须传入对象,不能是字符串或数组字面量;若生成的是this.setData('userInfo', data),要改成this.setData({ userInfo: data })
全局代码片段无法用快捷键触发?那是误解了机制
VSCode 没有“快捷键生成代码片段”这回事,Ctrl+Shift+P → Insert Snippet 只是打开选择面板,日常高频使用必须靠 prefix + Tab。
- 确保当前文件右下角语言 ID 正确:比如
pages/index/index.js必须识别为javascript,不是plaintext或json - 全局片段必须存为
common.code-snippets,路径在~/.vscode/snippets/(Windows 是%USERPROFILE%\AppData\Roaming\Code\User\snippets\) - JSON 中别加
"scope"字段——加了反而限制生效范围;prefix必须全小写、字符串类型,body数组每行结尾别漏逗号
wx.request 的 header 是否带 Authorization,navigateToDetail 跳转前是否做了 encodeURIComponent,这些 AI 不会主动推断,得你盯着业务流补全。


















