CodeGeeX 仅在 Page({}) 内空白行且光标就位时按 Ctrl+I(Mac 为 Cmd+I)才生效,不支持 App、Component 或全局补全;生成代码后须人工校验 wx.request 编码、setData 前缀及生命周期函数拼写。

CodeGeeX 能直接生成小程序 JS 逻辑,但必须按 Page 内触发
CodeGeeX 不是全局代码补全工具,它只在 Page({}) 内部、光标处于空白行时,按 Ctrl+I(Mac 是 Cmd+I)才有效。在 App({})、组件 Component({}) 或文件顶部随便敲都无效。
常见错误现象:
- 状态栏没显示
CodeGeeX Ready→ 插件未激活,重启 VSCode 或检查是否被禁用 - 按了
Ctrl+I没反应 → 光标不在Page对象内部,或当前语言模式不是javascript - 生成的代码含
wx.getUserInfo→ 提示词未限定基础库版本,需明确写“适配微信基础库 2.28.0+”
生成代码后必须手动校验三处关键点
AI 输出不等于可运行代码。以下三项不检查,大概率导致真机报错或 setData 失效:
-
wx.request的url是否用了encodeURIComponent?AI 不会自动加,必须手补 - 所有
setData是否都带this.前缀?漏掉就变成全局赋值,小程序环境直接静默失败 - 生命周期函数名是否拼写正确?比如把
onLoad写成onload或onLoaded,不会报错但根本不会执行
别依赖 CodeGeeX 生成完整页面,它只适合补函数体
CodeGeeX 当前版本无法可靠生成带 data 初始化、自定义方法、事件绑定的完整 Page 结构。它最稳的使用场景是:光标停在 Page({}) 内某处,输入“生成 onShow 函数,调用 wx.login 和 wx.request 获取 openid”,然后插入一个函数块。
容易踩的坑:
- 让它“生成整个页面逻辑” → 输出可能混入
export default或const声明,小程序 JS 不支持 - 指令里写“请帮我写个登录页” → AI 容易返回 React/Vue 风格代码,和小程序语法冲突
- 生成后直接复制粘贴到
data: {}区域 → 可能覆盖原有字段或破坏 JSON 结构
全局代码片段才是高频逻辑的稳定方案
像 console.log、setData 更新单个字段、wx.navigateTo 跳转这类固定结构,用 CodeGeeX 属于杀鸡用牛刀。真正省时间的是配置好 snippets:
- 全局片段存为
common.code-snippets,prefix 设为log/nav/sdata,一敲就出 -
sdata片段 body 可设为:this.setData({ $1: $2 });$0,Tab 切换字段名和值,比 AI 等响应快得多 - 避免在 snippet 中写复杂逻辑(如嵌套
if),VSCode 不解析执行,只做文本替换
复杂点在于:snippet 占位符顺序和默认值写法稍有偏差,光标跳转就会卡住;而 CodeGeeX 的不确定性更高——同一句指令,两次生成可能一个用 Promise 一个用回调,得人工重写统一风格。


















