如何启用Flutter / Dart语言实验?

Vin*_*rga 5 intellij-idea dart flutter

我想在Dart中使用新的传播语法

我正在使用Android Studio进行Flutter开发,但收到此错误。

这要求启用--spread-collections实验

ListView(children: [...listTiles, MyWidget()])
Run Code Online (Sandbox Code Playgroud)

但是,我找不到可以指定此选项的任何地方。

我什至无法使其在命令行上工作。flutter --spread-collections runCould not find an option named "spread-collections".

flutter --version
Flutter 1.3.8 • channel beta • https://github.com/flutter/flutter.git
Framework • revision e5b1ed7a7f (4 weeks ago) • 2019-03-06 14:23:37 -0800
Engine • revision f4951df193
Tools • Dart 2.2.1 (build 2.2.1-dev.0.0 571ea80e11)
Run Code Online (Sandbox Code Playgroud)

Tas*_*nim 24

就我而言,我遵循了这两个步骤,它对我有用。

  1. 运行“颤振升级

  2. 在 pubspec.yaml 中更改环境中的 sdk

    environment:
      sdk: ">=2.6.0 <3.0.0"
    
    Run Code Online (Sandbox Code Playgroud)

  • 不管怎样,你需要记住重新启动IDE (7认同)

atr*_*eon 20

您需要在 flutter 应用程序的根目录中创建一个 analysis_options.yaml 文件并编写类似

analyzer:
  enable-experiment:
    - spread-collections
Run Code Online (Sandbox Code Playgroud)

还要确保切换到包含新功能的正确频道,例如(开发、测试或主)

flutter channel dev
Run Code Online (Sandbox Code Playgroud)

还要确保你有一个足够新的 flutter 版本

flutter upgrade
Run Code Online (Sandbox Code Playgroud)

确保您使用的是正确版本的 flutter 和 dart,通过运行允许该功能

flutter --version
Run Code Online (Sandbox Code Playgroud)

您可能还需要手动更改 pubspec.yaml 文件以指定正确的 dart sdk(如果是,请重新运行 flutter upgrade)

environment:
  sdk: ">=2.10.0-0 <3.0.0"
Run Code Online (Sandbox Code Playgroud)


C4s*_*s4r 14

在新版本的 flutter 中,它变成了一个错误 - 但可以通过更新 sdk 版本轻松修复:

environment:
  sdk: ">=2.7.0 <3.0.0" 
Run Code Online (Sandbox Code Playgroud)

只是不要忘记重新启动 VisualStudio Code 或您正在使用的任何 IDE。