'How run flutter 'packages pub run build_runner build' with debug mode in intellij idea?

I want to put break point on my generator code, but I don't know how to run the command on the debug mode.

I wrote generator using source_gen and build_runner

class MyGenerator extends GeneratorForAnnotation<Todo> {
  @override
  FutureOr<String> generateForAnnotatedElement(
      Element element, ConstantReader annotation, BuildStep buildStep) {
    return "// Hey! Annotation found!";
  }
}


Solution 1:[1]

  1. run commad flutter packages pub run build_runner build*

  2. copy build.dart to root folder of project

enter image description here

  1. add new run configuration enter image description here
  2. run debug, now you can debug your code generator!

* the packages is optional, you can just run flutter pub run build_runner build

Solution 2:[2]

Ivan's answer worked for me, but every time I changed a file that was using an annotation - the build process outputted:

[SEVERE] Terminating builds due to build script update
[INFO] Terminating. No further builds will be scheduled

and then renamed the build script itself from build.dart to build.dart.cached, and then exit with code 75.

After digging through the build_runner code, I discovered that this behavior can be mitigated by using the following Program Arguments:

serve --skip-build-script-check

(i.e. instead of just serve as Ivan suggested).

There may be some negative consequences; in the build_runner source code, in options.dart, I saw this:

// For testing only, skips the build script updates check.
bool skipBuildScriptCheck;

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ben Butterworth
Solution 2 obe