有没有办法用 vscode 自动格式化颤振?
Posted
技术标签:
【中文标题】有没有办法用 vscode 自动格式化颤振?【英文标题】:Is there a way to auto-format flutter with vscode? 【发布时间】:2021-02-16 13:13:34 【问题描述】:我想知道是否有像 Eslint 这样的 Flutter/Dart 库,当我保存文件时会自动插入分号和尾随逗号。
FLutter 版本:1.22.3 飞镖版本:2.10.3
【问题讨论】:
【参考方案1】:使用 VS Code 1.53 版(我相信以前也有这个)你不需要安装任何特殊的扩展。只需导航到:
首选项 -> 设置 -> 文本编辑器 -> 格式
确保启用“保存时格式化”
每次您点击Ctrl + S
,您的文件都会被保存并格式化代码。
【讨论】:
【参考方案2】:-
安装
flutter
扩展。
在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 2
、Indent-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 .
【讨论】:
以上是关于有没有办法用 vscode 自动格式化颤振?的主要内容,如果未能解决你的问题,请参考以下文章