Visual Studio Code
安装和设置
按照设置编辑器说明安装 Dart 和 Flutter 扩展(也称为插件)。
更新扩展
扩展的更新会定期发布。默认情况下,VS Code 会在有更新可用时自动更新扩展。
要自己安装更新
- 单击侧边栏中的扩展。
- 如果 Flutter 扩展有可用的更新,请单击更新,然后单击重新加载。
- 重新启动 VS Code。
创建项目
有几种方法可以创建新项目。
创建新项目
从 Flutter 初学者应用模板创建新 Flutter 项目
-
转到视图 > 命令面板…。
您还可以按 Ctrl / Cmd + Shift + P。
- 键入
flutter
。 - 选择Flutter: 新项目。
- 按 Enter。
- 选择应用程序。
- 按 Enter。
- 选择项目位置。
- 输入所需的项目名称。
从现有源代码打开项目
打开现有 Flutter 项目
-
转到文件 > 打开。
您还可以按 Ctrl / Cmd + O
- 浏览到包含现有 Flutter 源代码文件的目录。
- 单击打开。
编辑代码和查看问题
Flutter 扩展执行代码分析。代码分析可以
- 突出显示语言语法
- 基于丰富的类型分析完成代码
-
导航到类型声明
- 转到转到 > 转到定义。
- 您还可以按 F12。
-
查找类型用法。
- 按 Shift + F12。
-
查看所有当前源代码问题。
- 转到视图 > 问题。
- 您还可以按 Ctrl / Cmd + Shift + M。
- 问题窗格显示任何分析问题
运行和调试
通过单击主 IDE 窗口中的运行 > 开始调试或按 F5 开始调试。
选择目标设备
在 VS Code 中打开 Flutter 项目时,您应该在状态栏中看到一组 Flutter 特定的条目,包括 Flutter SDK 版本和设备名称(或消息无设备)
Flutter 扩展会自动选择最后连接的设备。但是,如果您连接了多个设备/模拟器,请单击状态栏中的设备以查看屏幕顶部的选择列表。选择您要用于运行或调试的设备。
在不设置断点的情况下运行应用
转到运行 > 不调试启动。
您还可以按 Ctrl + F5。
在设置断点的情况下运行应用
- 如果需要,请在源代码中设置断点。
-
单击运行 > 开始调试。您还可以按 F5。状态栏变为橙色,表示您处于调试会话中。
- 左边的调试侧边栏显示堆栈帧和变量。
- 底部的调试控制台窗格显示详细的日志输出。
- 调试基于默认启动配置。要自定义,请单击调试侧边栏顶部的齿轮以创建
launch.json
文件。然后,您可以修改值。
在调试、分析或发布模式下运行应用
Flutter 提供了许多不同的构建模式来运行您的应用。您可以在 Flutter 的构建模式 中阅读更多相关内容。
-
在 VS Code 中打开
launch.json
文件。如果您没有
launch.json
文件-
转到视图 > 运行。
您还可以按 Ctrl / Cmd + Shift + D
运行和调试面板显示。
-
单击创建 launch.json 文件。
-
-
在
configurations
部分中,将flutterMode
属性更改为要定位的构建模式。例如,如果您要在调试模式下运行,您的
launch.json
可能如下所示"configurations": [ { "name": "Flutter", "request": "launch", "type": "dart", "flutterMode": "debug" } ]
-
通过运行面板运行应用。
快速编辑和刷新开发周期
Flutter 提供了一流的开发周期,使您能够通过有状态热重载功能几乎立即看到更改的效果。要了解更多信息,请查看 热重载。
高级调试
您可能会发现以下高级调试提示很有用
调试视觉布局问题
在调试会话期间,几个额外的调试命令被添加到 命令面板 和 Flutter 检查器 中。当空间有限时,图标用作标签的可视版本。
- 切换基线绘制
- 导致每个 RenderBox 在其每个基线上绘制一条线。
- 切换重新绘制彩虹
- 重新绘制时在图层上显示旋转颜色。
- 切换慢动作动画
- 减慢动画速度以进行视觉检查。
- 切换调试模式横幅
- 即使在运行调试版本时也隐藏调试模式横幅。
调试外部库
默认情况下,在 Flutter 扩展中禁用调试外部库。要启用
- 选择设置 > 扩展 > Dart 配置。
- 选中
调试外部库
选项。
Flutter 代码的编辑提示
如果您有其他提示需要我们分享,请告诉我们!
辅助和快速修复
辅助是与特定代码标识符相关的代码更改。当光标放置在 Flutter 小部件标识符上时,其中一些可用,黄色灯泡图标表示。要调用辅助,请单击灯泡,如下面的屏幕截图所示
您还可以按 Ctrl / Cmd + .
快速修复类似,只是它们显示为代码片段有错误,并且它们可以帮助更正它。
- 使用新小部件辅助进行包装
- 当您有一个想要用周围小部件包装的小部件时可以使用此功能,例如,如果您想要用
Row
或Column
包装小部件。 - 使用新小部件辅助包装小部件列表
- 类似于上面的辅助,但用于包装现有小部件列表,而不是单个小部件。
- 将子项转换为子项辅助
- 将子项参数更改为子项参数,并将参数值包装在列表中。
- 将 StatelessWidget 转换为 StatefulWidget 辅助
- 通过创建
State
类并将代码移到那里,将StatelessWidget
的实现更改为StatefulWidget
的实现。
代码片段
代码片段可用于加速输入典型代码结构。通过键入其前缀,然后从代码完成窗口中选择来调用它们:
Flutter 扩展包括以下代码片段
- 前缀
stless
:创建 -StatelessWidget` 的新子类。 - 前缀
stful
:创建StatefulWidget
的新子类及其关联的 State 子类。 - 前缀
stanim
:创建一个StatefulWidget
的新子类,以及它的关联状态子类,包括一个用AnimationController
初始化的字段。
您还可以通过从 命令面板 执行配置用户代码段来定义自定义代码段。
键盘快捷键
- 热重载
- 要在调试会话期间执行热重载,请单击调试工具栏上的热重载。
您还可以按 Ctrl + F5(macOS 上为 Cmd + F5)。
可以通过从 命令面板 执行打开键盘快捷键命令来更改键盘映射。
热重载与热重启
热重载通过将更新的源代码文件注入到正在运行的 Dart VM(虚拟机)中来工作。这不仅包括添加新类,还包括向现有类添加方法和字段,以及更改现有函数。不过,某些类型的代码更改无法热重载
- 全局变量初始化器
- 静态字段初始化器
- 应用程序的
main()
方法
对于这些更改,请在不结束调试会话的情况下重新启动应用程序。要执行热重启,请从 命令面板 运行Flutter:热重启命令。
您还可以按 Ctrl + Shift + F5 或 macOS 上的 Cmd + Shift + F5。
故障排除
已知问题和反馈
所有已知错误都在问题跟踪器中进行跟踪:Dart 和 Flutter 扩展 GitHub 问题跟踪器。我们欢迎对错误/问题和功能请求的反馈。
在提交新问题之前
- 在问题跟踪器中快速搜索以查看问题是否已得到跟踪。
- 确保您已 更新 到插件的最新版本。
在提交新问题时,请包含 flutter doctor 输出。