【问题标题】:Flutter hot reload doesn't work on autosave in VSCodeFlutter 热重载不适用于 VSCode 中的自动保存
【发布时间】:2021-05-04 15:02:24
【问题描述】:

Flutter hot reloads 每次 VS Code auto-saves 我的项目之前。几个小时前,我开始遇到auto-saving 没有hot-reload 我的应用程序的问题。手动按下Ctrl+S 会触发hot reload,但auto-saving 不会。我已经尝试重新安装 VS Code 和 Flutter SDK,但问题仍然存在。

我新安装的 VS Code 只有以下扩展和设置:

飞镖:v3.19.1
Flutter:v3.19.0
Auto-save 设置为 afterDelay of 1000ms

在 vscode 中自动保存时如何热重载?另一个人在两小时前遇到了同样的问题:https://github.com/Dart-Code/Dart-Code/issues/3110

【问题讨论】:

    标签: flutter dart visual-studio-code


    【解决方案1】:

    最新版本的 Dart & Flutter 的 VS Code 扩展导致该问题。

    v3.20 及更高版本:您可以通过在 VSCode 设置中将Flutter Hot Reload On Save 设置为always,在最新版本中启用自动保存时热重载。

    v3.19:他们完全禁用了自动保存时的热重载。

    v3.18 及以下: 自动保存时扩展热重载。

    【讨论】:

    • 我不明白你为什么要自动保存来触发热重载......那会搞砸你的调试! (并非每个更改都会产生有效的语法或可热重载的源文本。)
    • @RandalSchwartz 它更多的偏好。它使开发变得更加容易,因为它仅在编译器未检测到代码中的任何错误时才热重新加载
    • @RandalSchwartz 我同意 Uni 的观点。我必须说这是一个不错的功能。如果您每次都必须按 CTRL + S,请禁用自动保存
    • @akifarhan 他们将在下一个版本中进行设置。可以关注上面的github issue进行更新
    【解决方案2】:

    在此版本的更改说明中。这是一个预期的功能! (http://dartcode.org/releases/v3-19)

    上面写着:

    #3033: Hot-reload-on-save 不再为 VS Code 的自动保存功能触发的 Save 事件触发。即使没有未保存的更改,手动按保存仍会触发重新加载。

    没有人阅读发行说明吗? :)

    【讨论】:

    • 没有人阅读它们 :D 这就是为什么我为那些不喜欢我阅读它的人制作这个问答。我最终浪费了几个小时试图修复它。
    • 他们为什么这样做?有什么解决办法吗?
    【解决方案3】:
    Just delete your VS cache folder and VS temp folder.
    -> Press windows button and type:
    
    %temp%
    
    %appdata%
    
    -> Check your launch.json in .vscode folder. delete and recreate if necessary.
    

    【讨论】:

    • 我也试过了,但没用。开发人员告诉我这是由最新版本的 dart 和 Flutter 扩展引起的。
    猜你喜欢
    • 2020-11-01
    • 2021-11-08
    • 2019-06-14
    • 2021-03-01
    • 2018-08-19
    • 2020-11-22
    • 1970-01-01
    • 2020-07-02
    • 2019-07-30
    相关资源
    最近更新 更多