Skip to main content

Experiment flags

The Dart SDK often contains experimental features, which you can try by passing flags to Dart tools.

Using experiment flags with command-line tools

#

To use an experiment with Dart SDK command line tools, pass the corresponding flag to the tool.

For example, to enable the experiments super-mixins and no-slow-checks, add those flags to the dart command:

console
$ dart run --enable-experiment=super-mixins,no-slow-checks bin/main.dart 

Or to the flutter command:

console
$ flutter run --enable-experiment=super-mixins,no-slow-checks 

Using experiment flags with the Dart analyzer (command-line and IDE)

#

To enable experiments affecting analysis, use the enable-experiment key in the analysis options file. Here's an example of enabling the experiments super-mixins and no-slow-checks in analysis_options.yaml:

analysis_options.yaml
yaml
analyzer:  enable-experiment:  - super-mixins  - no-slow-checks 

Using experiment flags with IDEs

#

To enable experiments related to running or debugging apps in IDEs, edit the launch configuration.

Visual Studio Code

#

In launch.json under configurations, add a new toolArgs key containing the desired flags. Example:

launch.json
json
 "configurations": [  {  "name": "Dart",  "program": "bin/main.dart",  "request": "launch",  "type": "dart",  "toolArgs": [  "--enable-experiment=super-mixins,no-slow-checks",  ],  }  ] 

For more information, consult the documentation for VS Code launch configurations.

Android Studio

#

Under VMOptions add the desired flags. Example:

xml
<component name="ProjectRunConfigurationManager">  <configuration default="false" name="Run main" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">  <option name="VMOptions" value="--enable-experiment=non-nullable" />  <option name="filePath" value="$PROJECT_DIR$/bin/main.dart" />  <method v="2" />  </configuration> </component> 

For more information, consult the instructions for Android Studio run/debug configurations.

More information

#