К сожалению, вы не можете сделать именно это. Приостановка приложения препятствует выполнению цикла событий, и ваш обработчик кнопок не вызывается. Для приостановки любого вашего кода требуется новая функция, в которой IntelliJ может различать ваш код и код платформы и останавливаться на любом вызове вашего кода (даже в этом случае он должен игнорировать ваши build()
функции). Самая близкая вещь, которую я мог найти в IntelliJ, это точки останова метода Java , которые не будут работать с Dart.
Однако, есть одна вещь, которую вы можете сделать: Вы можете установить точку останова в вызывающем onPressed
, которая будет приостанавливать ваше приложение при любом нажатии кнопки. Вот где вы можете разместить эту точку останова:
// This is Line 504 of flutter/lib/src/material/ink_well.dart
// Ctrl+click on button to go into the framework code
// and find this file in project explorer
void _handleTap(BuildContext context) {
_currentSplash?.confirm();
_currentSplash = null;
updateHighlight(false);
if (widget.onTap != null) {
if (widget.enableFeedback)
Feedback.forTap(context);
widget.onTap(); // <---PLACE BREAKPOINT HERE
}
}
Как только вы достигнете этой точки останова, пару раз нажмите на (F7), и вы должны перейти к onPressed
.