실험 플래그(Experiment flags)

실험 플래그(Experiment flags)

Dart SDK에는 실험적인 기능들이 종종 들어있는데요, 이런 기능들은 Dart 도구에 플래그를 넘겨서 직접 시험해 볼 수 있어요. 다만 실험 기능은 공지 없이 바뀌거나 제거될 수 있으니, 프로덕션 코드에는 쓰지 말아야 해요.

출처: Experiment flags

본문

명령줄 도구에서 실험 플래그 쓰기

Dart SDK 명령줄 도구에서 실험 기능을 쓰려면 해당 도구에 대응하는 플래그를 넘기면 돼요.

예를 들어 super-mixinsno-slow-checks 실험을 켜려면 dart 명령에 그 플래그들을 추가해요.

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

아니면 flutter 명령에도 넣을 수 있어요.

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

Dart 분석기에서 실험 플래그 쓰기 (명령줄과 IDE)

분석에 영향을 주는 실험을 켜려면 분석 옵션 파일에서 enable-experiment 키를 사용해요. analysis_options.yaml에서 super-mixinsno-slow-checks 실험을 켜는 예시예요.

analyzer:
  enable-experiment:
    - super-mixins
    - no-slow-checks

IDE에서 실험 플래그 쓰기

IDE에서 앱을 실행하거나 디버깅할 때 관련된 실험을 켜려면 실행 구성(launch configuration)을 수정하면 돼요.

Visual Studio Code

launch.jsonconfigurations 아래에 원하는 플래그를 담은 새 toolArgs 키를 추가해요. 예시:

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

더 자세한 내용은 VS Code 실행 구성 문서를 참고해요.

Android Studio

VMOptions에 원하는 플래그를 추가하면 돼요. 예시:

<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>

더 자세한 내용은 Android Studio 실행/디버그 구성 안내를 참고해요.

더 보기

  • 실험의 전체 목록은 Dart SDK 파일 experimental_features.yaml에서 볼 수 있어요.
  • 실험 플래그의 절차와 기대치에 대한 정보는 실험 플래그 뒤의 변경사항 프로세스 문서를 참고해요.

더 알아보기