【问题标题】:VSCode highlight Flutter errors but Android Studio does notVSCode 突出显示 Flutter 错误,但 Android Studio 没有
【发布时间】:2018-09-06 04:13:02
【问题描述】:

我有一个包含以下文件的简单 Flutter 项目:

abstract class TableData {
  String createdAt;
  bool deleted;
  String id;
  DateTime updatedAt;

  TableData(this.createdAt, this.deleted, this.id, this.updatedAt);
}

class Listing extends TableData {
  String name;
  Listing (this.name, {String createdAt, bool deleted, String id,  DateTime updatedAt}) : super(createdAt, deleted, id, updatedAt);
}

abstract class AListingRepository implements ARepository<Listing>{

  Future<List<Listing>> getAll({bool includeDeleted : false});
}

现在,当代码从 VSCode 和 Android Studio 编译和运行时,VSCode 抱怨 Listing 没有在 AListingRepository 声明中扩展 TableData .该声明中的列表下方有一个波浪线(抽象类 AListingRepository 实现 ARepositoryListing>),当我将鼠标悬停在它上面时,它说 [dart] 'Listing' doesn't extend 'TableData '。是什么赋予了?

【问题讨论】:

  • 您是否在其中一个中启用了--preview-dart-2?你用的是什么 Flutter 版本?截图会很有帮助。
  • 在 Windows 上运行颤振 v0.1.5。安装在 VSCode 中的 Dart Code 扩展是 2.11.0 版本。我是 VSCode 的新手。如何启用 --preview-dart-2?我相信这意味着 Dart 的预览版。那有什么作用?是否与 Dart 2.0 的变化有关?
  • 是的,它为 Dart 2 启用了一些即将到来的/实验性更改。
  • 好的,我如何检查它是否已启用以及为什么在 VSCode 而不是 Android Studio 中出现这些错误(但代码在两者中都可以编译和运行)。
  • @Igor 我无法重现,您是否可以在 github.com/Dart-Code/Dart-Code/issues 提出问题或在 Gitter 中喊我 (DanTup),以便我们进行故障排除?

标签: visual-studio-code dart flutter


【解决方案1】:

答案比人们想象的要简单。所以我从 Android Studio 中的一个 Flutter 项目开始。在我定义了一些文件夹之后,我在 VSCode 中打开了该文件夹,它给了我上面描述的所有悲伤。

嗯,似乎 VSCode 或 Android Studio 已将“文件夹/文件”导入替换为“包”导入,这在 Android Studio 中似乎运行良好,但在 VSCode 中却不行。一旦我将这些导入更新回“文件夹/文件”,VSCode 中的一切都很好。

顺便说一句,我刚刚通过运行 Flutter upgrae 将 Flutter(和 Dart SDK)更新到最新版本,但之后问题仍然存在。

【讨论】:

  • VS Code 不应自动更改任何导入;但由于区分大小写和 VS Code 为我们提供小写驱动器字母,Windows 上存在一个错误。希望这一切都在最新版本的 Dart 代码中得到修复!
猜你喜欢
  • 2021-03-23
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多