gpt4 book ai didi

visual-studio-code - 如果启动程序嵌套很深,如何在 vscode 中调试 flutter 应用程序?

转载 作者:IT王子 更新时间:2023-10-29 07:21:57 28 4
gpt4 key购买 nike

问题简述

我正在尝试使用 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。我在 launch.json 中为 vscode 提供了这个路径。如果我将 .vscode/launch.json 放在 ui 中并在 vscode 中打开文件夹 ui 或者当我将它放在 下时,它工作正常code>mobile_app.
  • 这只发生在 vscode 中。 (我试过的另一个IDE是Android Studio)


我的文件夹结构

- foo
- .vscode
# launch.json
- code
+ domain (this is a dart lib (shared code))
- ui
- mobile_app
- lib
# main.dart
+ web_app
+ design


启动.json

{
// 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'

最佳答案

这些错误是因为您的项目没有被检测为 Flutter 项目(因为嵌套很深)。当 Dart 项目打开时,插件必须决定是进入“Flutter 模式”并寻找 Flutter SDK(并调用​​ flutter 命令)还是“Dart 模式”(寻找标准 Dart SDK 和使用 dartpub 命令)。

出于性能原因,它在做出此决定时仅扫描前两层文件夹。如果您的 Flutter 项目嵌套了很多层,它将进入“Dart 模式”。

我的建议是使用 VS Code 的多根工作区功能,以便 Flutter 项目可以在更高层(或作为工作区文件夹)使用。例如,如果您单击文件 -> 将文件夹添加到工作区,然后浏览到您的 mobile_app 文件夹,应该可以修复它。不幸的是,由于 https://github.com/Microsoft/vscode/issues/45470,这种体验并不像我希望的那样好(您现在会在资源管理器树的顶层看到 mobile_app 重复) (请添加一个 👍!)。

关于visual-studio-code - 如果启动程序嵌套很深,如何在 vscode 中调试 flutter 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55180468/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com