codegeex 可自动为 react 组件生成 typescript 类型定义:支持 props 接口、返回值类型、泛型约束及 api 响应 interface 推断,需禁用 copilot、确保 props 被实际引用、手动声明泛型 extends,并依赖运行时数据结构。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在 React 项目中手动补全 TypeScript 类型定义耗时且易出错,CodeGeex 能基于已有代码上下文实时生成准确的 interface、type 或 Props 类型声明,省去反复翻源码查类型结构的步骤。
安装并启用 CodeGeex 插件
打开 VS Code → 点击左侧扩展图标 → 搜索「CodeGeex」→ 点击「Install」安装官方插件 → 安装完成后重启编辑器。
插件启用后,右下角状态栏会出现 CodeGeex 图标,表示已就绪。若未出现,请检查是否与其他 AI 补全插件(如 GitHub Copilot)冲突:【必须禁用 Copilot,否则 CodeGeex 的类型推断会被覆盖】。
为组件 Props 自动生成类型定义
方法一:光标定位到组件函数名右侧 → 按 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS)触发补全 → 选择「Generate TypeScript type for props」。
方法二:在组件函数体第一行空白处输入 interface Props { → 按 Tab 键 → CodeGeex 会自动补全所有 prop 字段及对应类型,包括可选符 ? 和联合类型。
这一步依赖组件内部实际使用的 props 属性。如果组件里写的是 props.className 但没写 props.children,生成的类型就不会包含 children —— 所以务必确保组件内至少引用过每个要声明的 prop,否则类型会漏字段。
补全返回值类型与泛型约束
第一步:在 React 函数组件末尾(return 语句之后)换行,输入 const ComponentName = (props: Props): 。
第二步:将光标停在冒号后 → 按 Ctrl+Space 呼出智能提示 → CodeGeex 会给出 JSX.Element、React.ReactNode 或更精确的 React.FC<props></props> 建议。
第三步:若组件使用了泛型(如接收 T extends string),需先在函数签名前添加泛型参数声明,例如 function List<t extends string>(props: { items: T[] })</t>,否则 CodeGeex 无法识别泛型上下文,会默认输出 any。
注意:CodeGeex 不会主动推断泛型约束条件,【必须手动写出 extends 部分,补全才可能正确】。
从 API 响应数据反推 interface
在调用 fetch 或 axios.get 后的 .then 回调中,将光标放在响应数据变量名上(如 res.data),按 Ctrl+Shift+P → 输入「CodeGeex: Infer Interface from Object」→ 回车执行。
它会读取当前运行时该对象的实际键名和值类型(字符串/数字/嵌套对象/数组),生成类似 interface User { id: number; name: string; tags?: string[] } 的定义,并插入到文件顶部。
这一步要求响应数据已存在可访问的结构——如果只写了 res.data 但还没运行调试或 mock 数据,CodeGeex 会因无实例而生成空 interface 或报错。







