体验 2/4 · build-diagnostics 插件 — tool.execute.after 钩子

从日志泥潭到一份可执行的诊断

左侧是真实的 ArkTS 编译失败输出,右侧是插件自动生成的结构化诊断

构建输出 · 原始38,412 字符
> hvigor --mode module -p module=entry@default -p product=default analyze=normal > hvigor wrapper ======================== Hvigor System Info ======================== Hvigor Version : 5.0.2 Node Version : v24.14.1 WatchMode : false ===================================================================== > Executing tasks : [default@PreBuild, default@CompileArkTS, ...] ERROR: ArkTS:ERROR File: C:\Program Files\Huawei\DevEco Studio\sdk\...\@arkts.lang.d.ets:10505001 ERROR: ArkTS Compiler Error Error Message: This kind of declaration is not allowed... (SDK benign 噪音 #1) ERROR: ArkTS:ERROR File: C:\Program Files\Huawei\DevEco Studio\sdk\...\@arkts.lang.d.ets:10505001 Error Message: ... (SDK benign 噪音 #2) ERROR: ArkTS:ERROR File: C:\...\@arkts.lang.d.ets:10505001 Error Message: ... (SDK benign 噪音 #3~#6,省略 12 行) ERROR: ArkTS:ERROR File: D:\project\harmony-apps\MyApp\entry\src\main\ets\pages\Index.ets:32:15 ERROR: ArkTS Compiler Error Error Message: Type 'string' is not assignable to type 'number'. At File: D:\project\ harmony-apps\MyApp\entry\src\main\ets\pages\Index.ets:32:15 COMPILE RESULT:FAIL {ERROR:7} ... 以下还有 800+ 行 task trace 与依赖树输出 ...
模型实际看到的等待注入
// 点击下方按钮,模拟 build-diagnostics 插件的 tool.execute.after 钩子 // 它会在构建输出前自动注入结构化诊断摘要

插件做了三件事:① 解析 N ERROR: <code>Error Message … At File: 文件:行:列(含路径折行合并)② 白名单过滤 SDK 目录 / @arkts.lang.d.ets 的 benign 错误 ③ 摘要前置注入输出。对原生 build_project 与自研 devecocli_build 同时生效。