Как запустить flutter 'packages pub run build_runner build' в режиме отладки в intellij idea?
Я хочу установить точку останова в коде генератора, но не знаю, как запустить команду в режиме отладки.
Я написал генератор, используя source_gen
а также build_runner
class MyGenerator extends GeneratorForAnnotation<Todo> {
@override
FutureOr<String> generateForAnnotatedElement(
Element element, ConstantReader annotation, BuildStep buildStep) {
return "// Hey! Annotation found!";
}
}
2 ответа
Решение
Ответ Ивана сработал для меня, но каждый раз, когда я менял файл, в котором использовалась аннотация, процесс сборки выводил:
[SEVERE] Terminating builds due to build script update
[INFO] Terminating. No further builds will be scheduled
а затем переименовал сам скрипт сборки из
build.dart
к
build.dart.cached
, а затем выйдите с кодом 75.
Покопавшись в коде, я обнаружил, что это поведение можно смягчить, используя следующие аргументы программы:
serve --skip-build-script-check
(т.е. вместо просто
serve
как предложил Иван).
Возможны некоторые негативные последствия; в
build_runner
исходный код, в
options.dart
, Я видел это:
// For testing only, skips the build script updates check.
bool skipBuildScriptCheck;