为什么 VSCode 总是用奇怪的缩进弄乱我的 Flutter 代码?
Why does VSCode constantly mess up my Flutter code with weird identation?
当我在 VSCode 中保存我的 Dart 文件时,它经常以奇怪的方式弄乱它们的标识,现在,我已经记得它在用 JS 编码时创建新行,但至少那是不明显的。但在这儿?它看起来是这样的:
body: screens[
currentIndex]
还有这个:
class RemotePage extends StatelessWidget {
@override
Widget build(BuildContext context) => Scaffold(
body: Column(children: [
Row(children: [
PopupMenuButton(
itemBuilder: (BuildContext context) => [
PopupMenuItem(
child: Row(children: [
Iconify(AkarIcons.youtube_fill),
Text("YouTube")
]))
])
])
]));
}
谁能告诉我为什么会这样,我该如何解决?
回答
这是尾随逗号和 80 列大小。
在 Dart 中,如果你在末尾添加一个逗号,你不会有问题,事实上,在 Flutter 中,建议你这样做来解决这些缩进问题。
您的代码将如何:
Widget build(BuildContext context) => Scaffold(
body: Column(
children: [
Row(
children: [
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
child: Row(
children: [
Iconify(AkarIcons.youtube_fill),
Text("YouTube"),
],
),
),
],
),
],
),
],
),
);
关于 80 列大小,它在 VSCode 的 Dart 设置中,但建议这样做,因为所有 Flutter/Dart 项目都使用它。
建议
也许尝试激活 Analizer linter require_trailing_commas
当我在 VSCode 中保存我的 Dart 文件时,它经常以奇怪的方式弄乱它们的标识,现在,我已经记得它在用 JS 编码时创建新行,但至少那是不明显的。但在这儿?它看起来是这样的:
body: screens[
currentIndex]
还有这个:
class RemotePage extends StatelessWidget {
@override
Widget build(BuildContext context) => Scaffold(
body: Column(children: [
Row(children: [
PopupMenuButton(
itemBuilder: (BuildContext context) => [
PopupMenuItem(
child: Row(children: [
Iconify(AkarIcons.youtube_fill),
Text("YouTube")
]))
])
])
]));
}
谁能告诉我为什么会这样,我该如何解决?
回答
这是尾随逗号和 80 列大小。 在 Dart 中,如果你在末尾添加一个逗号,你不会有问题,事实上,在 Flutter 中,建议你这样做来解决这些缩进问题。 您的代码将如何:
Widget build(BuildContext context) => Scaffold(
body: Column(
children: [
Row(
children: [
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
child: Row(
children: [
Iconify(AkarIcons.youtube_fill),
Text("YouTube"),
],
),
),
],
),
],
),
],
),
);
关于 80 列大小,它在 VSCode 的 Dart 设置中,但建议这样做,因为所有 Flutter/Dart 项目都使用它。
建议
也许尝试激活 Analizer linter require_trailing_commas