记一个 ai 使用问题

source_gen:combining_builder on xx.dart:xx.g.dartmust be included as a part directive in the input library with:

经过一个多小时的 chatgpt o1 和 claude 3.5 sonnet 的轮番使用,都没解决的问题,最后靠 4o 的联网能力解决了。

o1 和 claude 3.5 sonnet 给出的代码出奇的一致,第一眼看过去还很符合逻辑,但是都是没用的,貌似是联想出来的。

# 完整的 build.yaml 配置
targets:
  $default:
    builders:
      riverpod_generator|riverpod_generator:    # 注意这个标识符
        options:
          output_directory: lib/evaluation/useriverpods/generated
        generate_for:
          - lib/evaluation/useriverpods/providers/**.dart

实在不行还怀疑过是不是 macOS 权限的问题,最后还是想到了联网的 4o,给出来的时候基本看过应该是可以的,因为出错信息基本联系到了 source gen 的部分,果然,4o 给出的方案里有这个关键词,一看就靠谱了:

targets:
  $default:
    builders:
      source_gen|combining_builder:
        options:
          build_extensions:
            '^lib/{{}}.dart': 'lib/generated/{{}}.g.dart'