【问题标题】:Is there a way to auto-format flutter with vscode?有没有办法用 vscode 自动格式化颤振?
【发布时间】:2021-02-16 13:13:34
【问题描述】:

我想知道是否有像 Eslint 这样的 Flutter/Dart 库,当我保存文件时会自动插入分号和尾随逗号。

FLutter 版本:1.22.3 飞镖版本:2.10.3

【问题讨论】:

    标签: flutter dart visual-studio-code


    【解决方案1】:

    使用 VS Code 1.53 版(我相信以前也有这个)你不需要安装任何特殊的扩展。只需导航到:

    首选项 -> 设置 -> 文本编辑器 -> 格式

    确保启用“保存时格式化”

    每次您点击Ctrl + S,您的文件都会被保存并格式化代码。

    【讨论】:

      【解决方案2】:
      1. 安装flutter 扩展。
      2. settings.json 文件中追加或修改这些行:
      "[dart]": {
          "editor.defaultFormatter": "Dart-Code.dart-code",
          "editor.formatOnSave": true,
      }
      

      之后,您可以使用保存 (ctrl+s) 操作格式化您的 dart 文件。

      【讨论】:

      • 在上述所有处方中,这对我有用。非常感谢
      • 这很好用。
      【解决方案3】:

      您可以使用这样的一个命令格式化每个颤振文件...

       flutter format . -l 120
      

      它设置了我相信的行长,作为副作用,它会格式化你所有的代码

      【讨论】:

      • 美丽。谢谢你的这个命令。要把这个答案加入书签。
      【解决方案4】:

      文档中有 Code Formatting 帮助区域。有 VsCode Here 的部分。它解释了

      要自动格式化当前源代码窗口中的代码,请在代码窗口中单击鼠标右键并选择“格式化文档”。您可以为此 VS Code Preferences 添加键盘快捷键。

      安装 Flutter 扩展后。

      我还发现了另一篇 Stack Overflow 帖子 Here,它可能会为您提供一些扩展建议以及为/在 VsCode 中创建自己的绑定的方法。

      【讨论】:

      • 为 Flutter 开发设置 VSCode 的说明是here
      • @AdamKern 链接也很好。我只是想直接链接到 CodeFormatting 部分。这些链接应该可以解决我认为的问题。
      • 如果按“ctrl + ”,则显示缺少分号的错误。它建议我插入一个“;”但它不会像 Eslint 在 javascript 上工作一样在保存时自动修复它..
      • @FabioDias 我更新了我的答案以链接到另一个 SO 帖子,其中有一些关于如何配置 VsCode 以支持您想要的分号自动完成的建议。
      • 似乎无法像 Eslint 对 javascript 那样进行格式化。
      【解决方案5】:

      实际上可选的冒号是允许自动格式化的...我不确定在行尾自动使用冒号或分号是否真的有帮助,因为它可能会有所不同,而且我不知道有扩展名可以有效地做到这一点(除了具有某种其他快捷方式)...

      因此,尽管它不能完全回答您的问题,但它可能会帮助其他用户了解如何格式化他们的颤振代码:如果您有所有可选的冒号,最好的方法是运行颤振插件中包含的命令。从终端运行flutter format lib,它将格式化 lib 目录和子目录中的所有 dart 文件。您可以将lib 更改为您喜欢的任何目录。

      最后,您可以添加一些扩展名并激活一些插件以获得可读性强的文件。但这是个人欣赏的问题。我个人使用:Bracket Pair Colorizer 2Indent-Rainbow 并激活 flutter outline 的两个 dart 选项以获得此结果:

      【讨论】:

        【解决方案6】:

        在 Extensions 中,搜索 [Prettier - Code formatter]

        点击 ctrl+S 后,它会格式化您的代码

        【讨论】:

          【解决方案7】:

          如果此图像显示时没有来自 vs 代码的栏 bar vs code

          进入首选项 -> 设置 并寻找 -> 默认格式化程序

          setting 然后换成 Dart 就完成了

          【讨论】:

            【解决方案8】:

            我在 VSCode 上短暂使用过,现在又尝试 Intellij,但请记住热键组合是: ctrl + shift + i。我不知道它是 ctrl+shift+L 还是 i,但很确定它是 i。正如 Flutter.dev 文档所说,尾随逗号也有助于格式化程序完成其工作。

            【讨论】:

              【解决方案9】:

              你可以使用官方文档https://flutter.dev/docs/development/tools/formatting中提到的这个命令

              flutter format .

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2019-09-27
                • 1970-01-01
                • 1970-01-01
                • 2020-10-29
                • 1970-01-01
                • 2012-07-17
                • 1970-01-01
                相关资源
                最近更新 更多