Здесь обнаружено несколько проблем:
Доктор трепетания:
Сводка доктора (чтобы увидеть все подробности, запустите flutter doctor -v):
[✓] Flutter (Мастер каналов, v1.8.2-pre.33, в Mac OS X 10.14.5 18F132, локаль en-GB)
[✓] Android toolchain - разработка для устройств Android (Android SDK версии 28.0.3)
[✓] Xcode - разработка для iOS и macOS (Xcode 10.2.1)
[✓] Инструменты iOS - разработка для устройств iOS
[✓] Chrome - разработка для Интернета
[✓] Android Studio (версия 3.4)
[✓] VS Code (версия 1.36.1)
[✓] Подключенное устройство (доступно 3)
Горячая перезагрузка не работает при сохранении
Видите ли вы какой-либо вывод в консоли отладки, например «Перезагружено x из y библиотек»? Можете ли вы записать журнал, выполнив команду Dart: Capture Logs из палитры команд, затем запустите приложение и попробуйте несколько изменений / сохранений, затем нажмите « Остановить ведение журнала» в уведомлении журнала (которое могло свернуться в значок колокольчика в статусе ) бар и прикрепить журнал?
Не удается найти команды «Flutter: Hot Reload» и «Flutter: Hot Restart» на палитре команд.
Это могло произойти, если мы не обнаружили в вашей папке ни одного проекта Flutter. Находится ли проект Flutter в пределах трех верхних уровней папок в вашем рабочем пространстве? Это также может быть вызвано тем, что расширение не активируется (хотя, вероятно, вы заметили бы гораздо больше поломок, если это так) - вы можете проверить это, открыв инструменты разработчика (Справка -> Переключить инструменты разработчика) и проверив консоль.
Не могли бы вы также подтвердить свою версию расширения Dart и расширения Flutter? Спасибо!
Прикрепленный журнал.
Dart-Code-Log-2019-06-01 16-23-45.txt
Да, я нахожусь в папке проекта, потому что я могу запустить проект с помощью сочетания клавиш (F5) на Mac.
Горячую перезагрузку и горячий перезапуск можно запустить с помощью следующих кнопок:
Расширения Dart и Flutter находятся в версии 3.2.0.
Я также проверил эти
Спасибо! Похоже, что служба горячей перезагрузки ( reloadSources
) не регистрируется, и наш обработчик горячей перезагрузки при сохранении завершает работу раньше, если служба недоступна.
@bkonyi Я ожидал, что это исправит https://github.com/flutter/flutter/pull/35765 , но я могу воспроизвести это на текущем master
. Любые идеи?
@ pczn0327 в качестве немедленного обходного пути, если вы можете переключиться на канал Flutter stable
, который не должен иметь этой проблемы (а также не должен сильно отставать, поскольку он был недавно обновлен).
Спасибо за помощь @DanTup! С нетерпением жду v3.3.0!
Хорошо, я разобрался, что это такое. Имя потока изменилось в виртуальной машине, но я не опубликовал обновленное расширение VS Code для его обработки, поэтому текущая живая версия не может подписаться и, следовательно, никогда не видит зарегистрированную службу.
Это исправлено в последней версии кода, поэтому, если вы отчаянно хотите использовать master
, вы можете установить одну из предварительных сборок v3.3, например https://github.com/Dart-Code/Dart-Code/ релизы / tag / v3.3.0-alpha.2.logging.2.
Я опубликовал патч v3.2.1, который содержит это исправление.
Моя проблема заключалась в том, что на устройстве был установлен выпускной apk, и я устанавливал отладочный apk. Таким образом, опция Hot Reload не отображалась, и код vs зависал при отладке сборки.
Самый полезный комментарий
Я опубликовал патч v3.2.1, который содержит это исправление.