codegeex插件未响应需先确认状态栏显示“ready”并完成vscode重启或“重新加载”;ctrl+i无效常见于文件非.js/.ts、光标未在page({})内;wx.request报错因ai未识别promise上下文,需指令明确要求;setdata标红因误用字符串路径,应改用嵌套对象;react-syntax-plus插入useeffect须在函数顶层,避免条件调用。

CodeGeeX 插件没反应?先看状态栏是否显示 “Ready”
按 Ctrl+I 没弹出输入框,大概率是插件根本没激活。VSCode 安装完 CodeGeeX 后必须点击“重新加载”按钮,否则插件处于挂起状态;右下角状态栏看不到 CodeGeeX 图标或显示“Loading”“Error”,Ctrl+I 就不会生效。
常见卡点:
- 插件安装后未重启 VSCode 或未点“重新加载”,状态栏始终空白
- 当前打开的文件不是
.js或.ts(小程序逻辑文件需为pages/index/index.js这类路径) - 光标没落在
Page({})大括号内部——AI 只在合法上下文里注入代码
生成的 wx.request 代码报错 “Cannot read property ‘then’ of undefined”
这是典型的 Promise 链断裂:CodeGeeX 默认可能生成基于回调的 wx.request 写法(如 success/fail),但你项目里用了 Promise 封装库(比如 wx-promise-pro 或自定义 request),而 AI 没感知到上下文。
解决办法:
- 指令里明确加一句:“用 Promise 方式调用
wx.request,不使用success回调” - 检查生成代码是否漏了
return——如果嵌套在try块里但没返回 Promise,外层链就断了 - 确认基础库版本:微信基础库
2.28.0+才原生支持wx.request返回 Promise,旧版本必须手动封装
生成的 setData 调用被微信开发者工具标红
不是语法错误,而是数据路径或结构不合法。CodeGeeX 有时会生成类似 this.setData({ 'userInfo.name': 'xxx' }) 这种带点号的字符串路径,但小程序要求路径必须是对象键名,不能含非法字符或动态拼接。
安全写法只有一种:
- 用嵌套对象:
this.setData({ userInfo: { name: 'xxx' } }) - 避免字符串路径写法,尤其别让 AI 生成
this.setData({ [`userInfo.${key}`]: value }) - 若需动态更新深层字段,先用展开运算符构造完整对象再传入,而不是靠字符串路径
React 插件 react-syntax-plus 插入 useEffect 后报 “React Hook ‘useEffect’ is called conditionally”
插件按关键字 ue 插入时,会把 useEffect 放在光标位置,但如果光标在 if 分支、for 循环或条件表达式内部,就会违反 Hook 规则。
实际操作中要注意:
-
ue必须在函数最顶层使用,不要嵌套在任何控制流里 - 插件不会自动校验上下文合法性,插入后得自己扫一眼缩进和父级语句
- 如果想监听某个变量,插件会帮你填依赖数组,但得确认该变量确实在上层声明过——它只做前缀匹配,不查作用域
request 封装函数,react-syntax-plus 也不知道你刚删掉了一个 useState 变量。生成只是起点,校验和微调绕不开。











