Flutter 正确的颤振/省道格式

Flutter 正确的颤振/省道格式,flutter,dart,visual-studio-code,code-formatting,Flutter,Dart,Visual Studio Code,Code Formatting,我正在处理一些颤振代码。代码将右大括号堆叠在同一行上。此外,当我在VSCode中运行“Format Document”时,它还将大括号堆叠在一行上 像这样(见最后一行) 但是在flatter文档和示例代码中,所有示例都使用以下格式(其中大括号位于单独的行上) 哪一种是正确的格式?此外,“格式化文档”是否使用省道扩展名来获得正确的格式?您也可以通过在大括号之间添加逗号来获得相同的缩进,并点击缩进按钮: VS代码:alt+shift+f Android Studio:ctrl+alt+l 对我来

我正在处理一些颤振代码。代码将右大括号堆叠在同一行上。此外,当我在VSCode中运行“Format Document”时,它还将大括号堆叠在一行上

像这样(见最后一行)

但是在flatter文档和示例代码中,所有示例都使用以下格式(其中大括号位于单独的行上)


哪一种是正确的格式?此外,“格式化文档”是否使用省道扩展名来获得正确的格式?

您也可以通过在大括号之间添加
逗号来获得相同的缩进,并点击缩进按钮:

  • VS代码:alt+shift+f
  • Android Studio:
    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();
    },
  ),
);
可以在大括号的末尾使用逗号(,)。然后,“格式文档”将分隔每个大括号的行。试试这个:

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();
    },
   ),
  );
编辑:

好的,您正在寻找合适的方法。如中所述,应使用尾随逗号

为了获得良好的自动格式,我们建议您采用可选的尾随逗号


但这并不能真正回答问题。先生,没有合适的格式。适合你的由你决定。我刚刚添加了如何实现格式良好的代码。另外,我没有收到任何颤振工程师关于格式的消息。他们推荐了我与您共享的解决方案:)干杯,再见:)没有正确的格式,它是由dartfmt项目指定的格式,它是一个固执己见的格式化程序。所以我很好奇VSCode是否在使用这个,以及哪种格式匹配。我想是的。可能是dart扩展,但是如果你添加
逗号
,它会以适当的方式格式化它们,以
//Container
结尾,类似于注释以获得更多澄清:)好的,你可以查看答案末尾的编辑部分:
    onChanged: (s) {
      navigation.update();
      if (s == '') {
        program.name = 'UNNAMED${navigation.programsCounter}';
        return;
      }
      program.name = s.toUpperCase();
    },
  ),
);
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();
    },
   ),
  );