正确的 flutter/dart 格式
Proper flutter/dart formatting
我正在研究一些 flutter 代码。该代码将右大括号堆叠在同一行上。此外,当我 运行 在 VSCode 中“格式化文档”时,它也会将大括号堆叠在一行上。
像这样(见最后一行)...
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
}));
但是在 flutter 文档和示例代码中,所有示例都使用以下格式(大括号在不同的行上)。
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
}
)
);
哪种格式合适?另外,“格式化文档”是否使用 dart 扩展来获得正确的格式?
您还可以通过在大括号之间添加 commas
并点击缩进按钮来获得相同的缩进:
- VS 代码:
alt + shift + f
- Android工作室:
ctrl + alt + l
对我来说非常好:)
添加逗号,例如:
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},),);
缩进后:
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},
),
);
您可以在大括号末尾使用逗号(,)。然后 'Format Document' 将分隔每个大括号的行。试试这个:
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},
),
);
编辑:
好的,您正在寻找合适的方法。如 official document 中所述,您应该使用尾随逗号。
To get good automatic formatting, we recommend you adopt the optional trailing commas.
我正在研究一些 flutter 代码。该代码将右大括号堆叠在同一行上。此外,当我 运行 在 VSCode 中“格式化文档”时,它也会将大括号堆叠在一行上。
像这样(见最后一行)...
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
}));
但是在 flutter 文档和示例代码中,所有示例都使用以下格式(大括号在不同的行上)。
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
}
)
);
哪种格式合适?另外,“格式化文档”是否使用 dart 扩展来获得正确的格式?
您还可以通过在大括号之间添加 commas
并点击缩进按钮来获得相同的缩进:
- VS 代码:
alt + shift + f
- Android工作室:
ctrl + alt + l
对我来说非常好:)
添加逗号,例如:
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},),);
缩进后:
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},
),
);
您可以在大括号末尾使用逗号(,)。然后 'Format Document' 将分隔每个大括号的行。试试这个:
return Container(
width: 200,
child: CupertinoTextField(
maxLength: 10,
textCapitalization: TextCapitalization.characters,
focusNode: focusNode,
decoration: BoxDecoration(
border: Border.all(color: Colors.white.withOpacity(0))),
style: accentTextStyle,
placeholder: "NAME",
textAlign: TextAlign.center,
keyboardAppearance: Brightness.dark,
controller: _textController,
onChanged: (s) {
navigation.update();
if (s == '') {
program.name = 'UNNAMED${navigation.programsCounter}';
return;
}
program.name = s.toUpperCase();
},
),
);
编辑:
好的,您正在寻找合适的方法。如 official document 中所述,您应该使用尾随逗号。
To get good automatic formatting, we recommend you adopt the optional trailing commas.