1. 문제
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(
const MaterialApp(home: Scaffold(body: Center(child: Text("hello world"),),),),
);
}
# 코드 포맷터 사용 후
import 'package:flutter/material.dart';
void main() {
runApp(
const MaterialApp(home: Scaffold(body: Center(child: Text("hello world")))),
);
}
# 내가 원하는 것
import 'package:flutter/material.dart';
void main() {
runApp(
const MaterialApp(
home: Scaffold(
body: Center(
child: Text("hello world"),
),
),
),
);
}
다음과 같이 되어 있는 코드에서 포맷터를 이용하여 코드 정렬을 하면 각 위젯마다 정렬돼서 나오는 것을 원했는데, 위와 같이 한 줄로 나오고 위젯마다 줄 바꿈 돼서 보이지 않는 문제가 발생했다.
2. 해결 방안
해당 문제는 Dart SDK 버전 3.7에 도입된 새로운 Dart 포맷터를 이용하여 생긴 문제이다. (아마도 한 줄에 사용된 글자 수가 짧아서 한 줄로 표현하기 위해서 다음과 같이 패치한 듯)
해당 문제를 해결하기 위해서는 flutter프로젝트의 pubspec.yaml 파일에서 다음 값을 변경해 준다.
# 변경 전
environment:
sdk: ^3.7.0
# 변경 후 (하위 호환성을 추가)
environment:
sdk: ">=3.6.0 <4.0.0"
flutter: ">=3.6.0"
'FrameWork > Flutter' 카테고리의 다른 글
Navigator을 통한 화면 전환과 위젯 필수 매개변수 받기 (0) | 2023.11.10 |
---|---|
StatefulWidget와 StatelessWidget 알아보기 (0) | 2023.11.09 |
Flutter 프로젝트 디렉토리 구조, 위젯 알아보기 (0) | 2023.11.09 |
WillPopScope을 통해 뒤로가기 버튼 기능 활성화 하기 (0) | 2023.11.09 |
웹 뷰(WebView) 사용하기 (1) | 2023.11.09 |