自动热重启和重新加载停止发生 - Flutter/VS Code
Posted
技术标签:
【中文标题】自动热重启和重新加载停止发生 - Flutter/VS Code【英文标题】:Automatic Hot Restart and Reload Stopped Occurring - Flutter/VS Code 【发布时间】:2021-05-07 00:16:50 【问题描述】:我一直在 VS Code 上学习 Dart/Flutter,并且热重启/重新加载始终是自动的(如果我更改了代码中的颜色,它会自动显示在屏幕上)。我现在必须手动触发动作。我不知道发生了什么变化。
我正在使用 VS Code 和 ios 模拟器。我无法在 android Studio 上正确运行 SDK,因为我使用的是新的 mac M1 处理器。
我尝试过的解决方案:
-
打开其他Flutter项目,验证热重启不是
处理其中任何一个(它不像其他帖子所建议的那样是导入错误)
我确保我可以从 VSCode 和终端手动热重启以查看更改
Flutter Doctor 没有显示错误
我还是从终端运行了 Flutter Upgrade
我从 VS Code 卸载并重新安装了 Dart 和 Flutter
我确保 VS Code 的自动保存功能已开启
我确保 VS Code 的“Dart: Flutter Hot Reload on Save”(和重新启动)都被选中
我尝试在有和没有调试的情况下运行
我重新启动了计算机和 VS Code
编辑:我刚刚安装了 Android Studio,也无法在此处获得自动热重载。我将它连接到iOS模拟器,空闲2秒后打开自动保存,仍然需要手动重新加载。或者,我可以转到菜单并单击“全部保存”,它将重新加载以更新 UI(无需单击热重新加载或重新启动图标)。但是,它仍然是手动的。
编辑:2/25/21:在 v3.20.0 测试版中引入了“修复”。 https://dartcode.org/releases/v3-20/
【问题讨论】:
【参考方案1】:好的,我终于找到了正确的答案。
显然,IDE 自动保存后的自动热重载是一个错误,一些用户认为这是一个有用的功能。预期的功能是仅在手动激活时触发热重载。因此,该错误(功能)被“修复”了,从而取消了此功能。
反馈表明,有些人发现该错误很有用,现在有迹象表明该功能将在未来返回。
https://github.com/Dart-Code/Dart-Code/issues/3110
编辑:2/25/21:在 v3.20.0 测试版中引入了“修复”。 https://dartcode.org/releases/v3-20/
【讨论】:
【参考方案2】:VSCode 有时会出现问题,而这个问题可以说是最烦人的。上周,当我决定使用带有 flutter web 的桶文件时,我遇到了这种情况。
意思是,我有一个包含所有导出组件的文件夹,然后只导入那个文件,就像这样
然后,无论我想要所有这些文件在哪里,我都会添加
import barrell.dart
现在,当我在移动设备上使用 Flutter 时,这工作得非常好,而且当我进入 Flutter Web 时,我的应用程序不会热重载。
我和你分享这个是说我发现了这个通过消除过程。花了我一点时间,但我从下往上创建了一个新项目,添加到每个部分一个一个,然后我发现是这个barrel文件搞砸了热重载..
所以我最好的建议是做同样的事情 - 从一个新项目重新开始,一个接一个地添加,如果你确实找到了导致挂断的原因,我恳请你在这里分享: https://github.com/flutter/flutter/issues
【讨论】:
感谢 Gene,非常注重细节的方法。但是,如果我创建一个全新的项目然后只是更改标题,我将无法自动热重启以在模拟器上进行更新。这是我过去的所有项目,而不仅仅是我发现它停止时正在处理的项目。 那我误会了!好的,你是如何运行这个项目的?颤振运行?带调试? 我尝试过调试和不调试。我从 VS Code 运行它。我也刚刚更新了帖子。奇怪的是,我在 Android Studio 中遇到了同样的问题。 保存时是否热重载? 在 VS Code 和 Android Studio 上,它会在手动保存时进行热重载。当任一软件由于一段时间不活动而自动保存时,它不会进行热重载。以上是关于自动热重启和重新加载停止发生 - Flutter/VS Code的主要内容,如果未能解决你的问题,请参考以下文章
调试时 Flutter VS Code 中的热重启(以前是完全重启)
FlutterFlutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )