#flutter #dart
Вопрос:
Автоматическое форматирование в Dart создает беспорядок в моем коде, например, это:
final list = Stream.fromIterable([1, 2, 3]);
list
.map((a) => a * 2)
.map((b) => b * 3)
.reduce((a, b) => a b);
становится этим:
final list = Stream.fromIterable([1, 2, 3]);
list.map((a) => a * 2).map((b) => b * 3).reduce((a, b) => a b);
Есть ли способ сохранить разрывы строк во время автоматического форматирования в местах, где я использую символ точки для цепочки функций? Под автоматическим форматированием я подразумеваю нажатие CTRL ALT L в Android Studio.
Комментарии:
1. Использование форматного документа в коде Visual Studio или переформатирования кода с помощью dartfmt в Android studio дает желаемый результат. Какую команду вы используете для форматирования кода, который выдает неправильные выходные данные ?
2. Под автоматическим форматированием я подразумеваю нажатие CTRL ALT L в Android Studio.
3. @Muldec Я обновил фрагмент с более короткими именами, так что это должно произойти с вами даже при ограничении в 80 символов.
4. Хорошо, теперь я это понимаю.
5. Если я правильно их понимаю, каскады-это просто несколько операций над одним и тем же объектом, они не связывают возвращаемое значение каскада над ними.
Ответ №1:
Это немного банально, но вы можете использовать комментарии (даже пустые) для сохранения разрывов строк:
void main() {
final list = Stream.fromIterable([1, 2, 3]);
list //
.map((a) => a * 2)
.map((b) => b * 3)
.reduce((a, b) => a b);
}
Комментарии:
1. Это действительно помогает… Но я собираюсь немного подождать, прежде чем принять этот ответ, чтобы дать кому-то шанс представить менее банальный 🙂