Flutter/Dart中如何解决“闭合括号综合症”?

6
我认为,在编写Flutter代码时最令人烦恼的问题之一就是当你对那些闭合括号感到困惑/不同步时。

enter image description here

对我来说,经常会出现添加新的父小部件或插入代码片段后,闭合的花括号/方括号/圆括号不匹配,或者缺少分号/冒号等问题...当然,这是可以解决的:进入每个括号,工具会显示相应的计数器括号,也许你能快速发现差异...或者不行。正如您在代码片段中所看到的那样,工具通过显示相应的类/小部件来帮助一些。但要使它同步,总是需要很长时间...
您有什么最佳实践或提示/建议能够快速调整括号吗?您的经验如何?
谢谢!
4个回答

7

在VsCode中,您可以使用一些非常有用的快捷键来:

  • 删除一个小部件
  • 将现有小部件包围在一个新的小部件中
  • 等等

它还处理添加/删除括号:

输入图像描述

Gif来源于这个答案


这只解决了一半的问题,每当你弄错一个闭合括号,就会变成一场噩梦。 - beedrill

3

小贴士!

我使用IDE集成功能来避免错误,同时也节省时间。请查看下面的示例。不要尝试手动换行。

使用容器、列、行或任何其他小部件包装

我发现这篇文章在避免括号错误和加速开发方面非常有用。


0

这里有一些建议供您参考:
1- 切换到vscode,它更轻便、更快速,而且您可以使用其智能感知或我们所称的代码操作,在您的flutter代码中添加和删除小部件。通过这样做,它会自动处理括号等内容。
2- 使用flutter片段扩展,它们在vscode上有很多可用的,不确定android studio是否也有,但该扩展将为您自动生成一个样板模板以及括号。
3- 您可以前往vscode或您的android studio的flutter扩展设置并进行自定义,其中包括自动格式化和导入选项。
4- (可选)如果您有github co-pilot,则它会自动为您提供关于括号和代码的建议,但不总是准确的,而且co-pilot并非所有人都可以正式使用,但它非常好用。


0

你可以将代码分离成函数,甚至更好的是创建自己的小部件。比如说你需要在主页上显示一堆电影卡片,而不是将它们嵌套在一个巨大的 Scaffold 中,你可以创建:

  1. ListOfMovies 小部件使用 GridView 来消耗 List<Movie>
  2. CardMovie 小部件消耗单个 Movie 对象 这是我在自己的项目中如何分离它们的。这不是完美的,但可能会有所帮助 enter image description here

编辑。 这里还有另一个小技巧:在 JetBrains IDE 上,您可以使用 Ctrl+Shift+M 命令跳转到括号或花括号的另一端。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接