VSCode 中的 Flutter 将包解释为 URI
Posted
技术标签:
【中文标题】VSCode 中的 Flutter 将包解释为 URI【英文标题】:Flutter in VSCode Interpreting package as URI 【发布时间】:2020-05-24 03:42:24 【问题描述】:我正在尝试从 VSCode 开始使用颤振。 我想我已经完成了所有正确的设置:
1) 在 VS 代码上下载了 Flutter 和 dart 和 codeRunner 的扩展
2) 下载flutter SDK并添加路径
3) 运行没有医生且没有错误的颤振医生
完成所有设置后,我尝试单击“运行代码”,但收到错误:'dart' 未被识别为内部或外部命令。看了其他网上的帖子,我想是因为我只在我的路径中添加了flutter SDK而不是dart SDK,所以我也在我的路径中添加了dart SDK。
从那里,我尝试再次运行代码并收到以下错误:
lib/main.dart: Warning: Interpreting this as package URI, 'package:tranfer_app/main.dart'.
../../flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paint, Path, Canvas;
^
../../flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/app.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
../../flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/bottom_sheet_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/button_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/card_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
../../flutter/packages/flutter/lib/src/material/chip_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
从我的在线阅读来看,听起来 VS Code 可能正在尝试作为 dart 应用程序而不是 Flutter 应用程序运行,虽然我已经找到了如何在 android Studio 中更改它,但我不确定如何更改它在 VSCode 中(这是我想做开发的地方)。值得注意的是,如果我不使用 Ctrl+Alt+N 运行代码,而是使用 F5,则该应用程序将在模拟器上运行良好,但我宁愿在继续之前弄清楚这些警告,因为它们似乎很重要。
我希望我的代码可以使用通常的 Ctrl+Alt+N Code Runner 运行。
非常感谢您的帮助!
【问题讨论】:
你有 VS Code 上的 Flutter 扩展吗? 是的,flutter、dart 和 CodeRunner 我会尝试从头开始重新安装所有内容。这可能比试图找出冲突的罪魁祸首要快。平均需要 5 分钟。 【参考方案1】:我希望我的代码可以使用通常的 Ctrl+Alt+N Code Runner 运行。
Code Runner 不了解 Flutter 是什么(或如何运行它),因此按下此组合键只会在 VM 中运行 Dart 脚本。警告是因为 dart:ui
在独立 VM 中不可用(仅通过 Flutter)。
使用 F5(或调试菜单)是运行 Flutter 应用程序的正确方法,因为它将由 Dart/Flutter 扩展程序处理,这些扩展程序会自动检测运行应用程序的工具(以及提供许多其他功能,例如 hot-reload-on-save)。
如果使用 F5 运行的原因对您不起作用,我有兴趣了解原因(您可以提交问题 on GitHub)。谢谢!
【讨论】:
【参考方案2】:我有同样的问题,非常简单的解决方案,基本上你一直在将应用程序作为一个单独的包运行,正如错误所说,你应该将它作为一个颤振应用程序运行。 因此,只需使用或不使用调试模式运行,而不是使用代码运行器,如图所示:
注意:当我在 lib 中创建多个 dart 文件时会发生这种情况。
图片: Use the run with/without debugging option and you should be good to go :)
【讨论】:
【参考方案3】:可能还有一个原因。如果您只打开了 lib 文件夹或任何其他子文件夹而不是整个包,则会收到此错误。尝试打开整个文件夹——你的 lib 文件夹所在的文件夹。 帮我解决了这个错误
【讨论】:
以上是关于VSCode 中的 Flutter 将包解释为 URI的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 VSCode Flutter 项目以正确解析 Android 文件夹中的 Java 代码?