我正在尝试使用vscode调试flutter应用程序,但收到以下警告,由于此问题结尾给出的错误,调试停止。显然无法找到我的飞镖SDK。但是我已经在设置中提供了sdk路径。
mobile_app/lib/main.dart:1: Warning: Interpreting this as package URI, 'package:mobile_app/main.dart'.
此medium post中提到了问题,但没有解决方案。您可能需要翻译页面才能阅读。
main.dart
文件位于foo/code/ui/mobile_app/lib
中,而.vscode/launch.json
位于foo
中。我在launch.json
中为vscode提供了此路径。如果我将.vscode/launch.json
放在ui
中,然后在vscode中打开文件夹ui
,或者将其放在mobile_app
下,则效果很好。
- foo
- .vscode
# launch.json
- code
+ domain (this is a dart lib (shared code))
- ui
- mobile_app
- lib
# main.dart
+ web_app
+ design
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Jamsalon Mobile App",
"program": "code/ui/mobile_app/lib/main.dart",
"request": "launch",
"type": "dart"
}
]
}
mobile_app/lib/main.dart:1: Warning: Interpreting this as package URI, 'package:mobile_app/main.dart'.
file:///C:/Users/random_user/Documents/app_development/frameworks/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;
^
file:///C:/Users/random_user/Documents/app_development/frameworks/flutter/packages/flutter/lib/src/material/animated_icons.dart:10:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
file:///C:/Users/random_user/Documents/app_development/frameworks/flutter/packages/flutter/lib/src/material/app.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
file:///C:/Users/random_user/Documents/app_development/frameworks/flutter/packages/flutter/lib/src/material/app_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
file:///C:/Users/random_user/Documents/app_development/frameworks/flutter/packages/flutter/lib/src/material/arc.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show lerpDouble;
^
file:///C:/Users/random_user/Documents/app_development/frameworks/flutter/packages/flutter/lib/src/material/bottom_app_bar_theme.dart:5:8: Error: Not found: 'dart:ui'
答案 0 :(得分:1)
这些错误是因为未将您的项目检测为Flutter项目(由于深度嵌套)。当Dart项目打开时,插件必须决定是进入“ Flutter模式”并寻找Flutter SDK(并调用flutter
命令)还是“ Dart模式”(寻找标准Dart SDK并使用dart
和pub
命令)。
出于性能原因,在做出此决定时,它仅扫描文件夹的前两个级别。如果您的Flutter项目嵌套了多个关卡,则会进入“飞镖模式”。
我的建议是使用VS Code的多根工作区功能,以便Flutter项目可以进一步使用(或作为工作区文件夹)。例如,如果单击文件->将文件夹添加到工作区,然后浏览到您的mobile_app
文件夹,则应该可以解决该问题。不幸的是,由于https://github.com/Microsoft/vscode/issues/45470(请在其中添加一个!),这种体验并不像我希望的那样好(您现在会在资源管理器树的顶层看到mobile_app
重复)。