调试时 Flutter VS Code 中的热重启(以前是完全重启)

Posted

技术标签:

【中文标题】调试时 Flutter VS Code 中的热重启(以前是完全重启)【英文标题】:Hot Restart (previously Full restart) in Flutter VS Code whilst debugging 【发布时间】:2018-10-28 21:57:59 【问题描述】:

在控制台中使用flutter run 运行我的应用程序时,我可以按“r”进行重新加载,然后按“R”进行重新加载并重新启动。在 VS Code 中调试时有没有办法做到这一点?保存文件会导致热重载,但我无法找到完全重启的方法。

编辑

这与热重载选项有点不同,所以我不认为这是重复的。这个问题是关于在不重新安装应用程序的情况下完全重启应用程序。这可以通过在控制台中按大写 R 来实现,而不是在控制台中按小写 r 来执行热重载。

【问题讨论】:

VSCode hot reload for flutter的可能重复 【参考方案1】:

调试时,您可以按Ctrl+F5 完全重启,或者您可以从VS Code 的命令面板运行Flutter: Full Restart 命令(Ctrl+Shift+P 或@987654330 @+Shift+P 适用于 macOS)。

注意:在下一个版本(v2.13.0,有一个可用的测试版)中,“完全重启”已重命名为“热重启”以更好地反映它的工作原理(这发生在其他 Flutter 工具和文档中也)。

相关信息:

Flutter VS Code docs Dart Code keybindings Dart Code debugging commands

【讨论】:

完美 :-) 命令调色板似乎是我最想念的 超级好用!无需为它们全部绑定键,就可以真正快速地做很多事情!它还显示了拥有它们的东西的键绑定,因此是在您仍在使用调色板运行东西时学习它们的好方法:)【参考方案2】:

选择的答案不适用于 Flutter 1.2.1,所以我使用了这个解决方案:

    获取Flutter extension 在VS Code设置中搜索dart.flutterDebuggerRestartBehaviour,设置为hotRestart

    启动调试器(F5),想要热重启时点击重启按钮:

【讨论】:

赞成你的把戏。但是,另一个问题是“如何管理hotReload?” 抱歉造成误会,我的英文不太好。我的意思是,如果我们使用dart.flutterDebuggerRestartBehaviour = hotRestart 那么我该怎么做`hotReload` 动作。因为hotRestart 进程会将我们重定向到应用程序的起始页。 仅供参考,这不是“Flutter 1.2.1”问题,而是 VSCode。这个问题是我升级到1.32版本后出现的, 我明白了。就我而言,我只是保存文件,重新加载级别的更改会反映在设备上。 +1 这又是一个技巧。由于我禁用了Flutter Hot Reload on save 功能,所以我从没想过这会起作用。非常感谢,伙计。

以上是关于调试时 Flutter VS Code 中的热重启(以前是完全重启)的主要内容,如果未能解决你的问题,请参考以下文章

VS Code 无法识别 Flutter 中的单元测试

VS code 进行 flutter 调试时启动后就停止,无法调试的问题

自动热重启和重新加载停止发生 - Flutter/VS Code

VS Code 在文件保存时自动重启调试器,如 nodemon

调试 VS Code for Flutter 应用程序时出现问题

在 VS Code 中调试 Flutter Web 应用,无需创建 Microsoft Edge 新实例