可通过VS Code+ESLint+Import Cost+jscodeshift组合识别未调用函数:ESLint的no-unused-vars标记文件内未用函数;Import Cost提示导入模块体积为0时需检查导出函数是否被消费;jscodeshift通过AST扫描跨文件未引用函数。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在大型JavaScript项目中快速定位那些写好了却从未被任何地方调用的函数,Codex本身不提供静态分析能力,但可通过VS Code + 插件组合实现精准识别。
安装ESLint并启用no-unused-vars规则
打开VS Code扩展市场,搜索并安装“ESLint”官方插件。该插件依赖本地项目中的ESLint配置生效,若项目无配置文件,需先在项目根目录执行 npm init @eslint/config 生成 .eslintrc.js。
编辑生成的配置文件,在 rules 中加入:"no-unused-vars": ["error", { "args": "none", "varsIgnorePattern": "^_" }]。这会标记所有未被引用的变量和函数声明,包括导出后未被导入使用的函数。
保存后,VS Code会在未调用函数名下显示黄色波浪线,并提示“'xxx' is defined but never used”。【注意:该规则默认不检查导出函数是否被外部模块调用,仅检测当前文件内引用】
使用Import Cost插件预判导入开销
安装“Import Cost”扩展,它会在 import 语句右侧实时显示该模块的压缩后体积估算值。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
当看到某条 import 行右侧显示 “0 B” 或 “—” 时,说明该模块可能为空、或只导出了未被使用的函数——此时应手动检查对应文件中 export 的函数是否真实被消费。
运行jscodeshift批量扫描未引用函数
第一步:全局安装转换工具:npm install -g jscodeshift。
第二步:创建一个自定义脚本 find-unused-funcs.js,内容为基于 AST 遍历识别函数声明但无对应 CallExpression 的节点逻辑。
第三步:在项目根目录执行命令:jscodeshift -t ./find-unused-funcs.js --extensions=js,jsx src/。该命令会递归扫描 src/ 下所有JS文件,输出形如 src/utils/math.js: calculateAverage (line 42) 的结果列表。
这一步必须确保项目已正确配置 Babel 解析器(如存在 .babelrc),否则 JSX 或新语法会导致解析失败而跳过文件。

















