실험 플래그(Experiment flags)
실험 플래그(Experiment flags)
Dart SDK에는 실험적인 기능들이 종종 들어있는데요, 이런 기능들은 Dart 도구에 플래그를 넘겨서 직접 시험해 볼 수 있어요. 다만 실험 기능은 공지 없이 바뀌거나 제거될 수 있으니, 프로덕션 코드에는 쓰지 말아야 해요.
출처: Experiment flags
본문
명령줄 도구에서 실험 플래그 쓰기
Dart SDK 명령줄 도구에서 실험 기능을 쓰려면 해당 도구에 대응하는 플래그를 넘기면 돼요.
예를 들어 super-mixins와 no-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-mixins와 no-slow-checks 실험을 켜는 예시예요.
analyzer:
enable-experiment:
- super-mixins
- no-slow-checks
IDE에서 실험 플래그 쓰기
IDE에서 앱을 실행하거나 디버깅할 때 관련된 실험을 켜려면 실행 구성(launch configuration)을 수정하면 돼요.
Visual Studio Code
launch.json의 configurations 아래에 원하는 플래그를 담은 새 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에서 볼 수 있어요. - 실험 플래그의 절차와 기대치에 대한 정보는 실험 플래그 뒤의 변경사항 프로세스 문서를 참고해요.
더 알아보기
- Dart SDK의 실험 정의 파일:
experimental_features.yaml dart명령줄 도구 전체 옵션: dart CLI 도구analysis_options.yaml구성: Customizing static analysis