请选择 进入手机版 | 继续访问电脑版

加快Flutter开发的提示

移动开发  / Flutter  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2020-4-18

跳转到指定楼层

即使拥有Flutter的所有好处,一切都有其弊端。Flutter可能会随着微件和程序包供应的不断增加而变得轻而易举,或者可能是一堆重复的打字和“寻找缺少的支架”的长时间游戏。我们将做一些事情来减轻学习这项新技术的烦恼。

为了简洁起见,我们将主要研究VSCode可用的功能。尽管其他编辑器可能相同或具有自己的等效项。

本地技巧

这些键绑定将根据编辑器而有所不同,但在VSCode和Android Studio中可用。

尾随逗号

保持代码格式最简单的方法是在任何行的末尾添加逗号,以便编辑器将其重新格式化为嵌套的树状结构。我不建议对每一行都执行此操作,因为很多括号和极端嵌套有时会比使某些内容保持内联更加混乱。

主镖

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(children: <Widget>[Row(children: <Widget>[Container(child: Center(child: Text('Im some text'),),),],),],);
  }
}

重新格式化为…

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Row(
          children: <Widget>[
            Container(
              child: Center(
                child: Text('Im some text'),
              ),
            ),
          ],
        ),
      ],
    );
  }
}

重构工具

VSCode不需要手动剪切所有内容,制作小部件并在每次需要重复工作时将其粘贴回去,这很多,VSCode提供了一些漂亮的重构工具来为您处理。

您只需要将光标放在小部件的名称内,然后点击出现的小灯泡,即可获得更多选项来添加列,将其提取到其自己的单独小部件中或完全删除。您可以将光标居中,右键单击并查找重构,也可以使用Ctrl+Shift+R

查看源代码

除了文档之外,了解Flutter工作原理的一种好方法是查看Flutter源代码本身。Flutter团队为您使用的所有内容创建了一个非常受好评的代码库。当您想知道特定窗口小部件采用什么参数以及对它们进行了什么操作,或者只是想弄清楚为什么出现特定错误时,这可能会非常有用。

只需按住Ctrl并单击要检查的小部件即可。

扩展名

支架对着色器

这将使用不同的颜色来区分各组括号。这将使您不必弄清特定窗口小部件的开始和结束位置,从而无尽的沮丧。

Pubspec协助

查看文档,查找所需的依赖项或最新版本号,并在pubspec.yaml每次需要时将其复制/粘贴到文件中的日子已经一去不复返了。现在,您可以使用Crtl+Shift+P,激活Pubspec Assist,并告诉您所需的内容。

颤动文件

为了避免仅针对基本样板进行重复键入,当您右键单击目录时,Flutter文件为您提供了一些额外的选项。它有时可能会给您带来比您所需要的更多的东西,但是与您自己编写所有内容相比,整理不需要的内容仍然要容易得多。

很棒的Flutter片段

我输入的快乐程度越小。当您不记得确切地如何制作无状态小部件或构建方法时,这个小集合似乎就像是天赐之物。

有关选项的完整列表,请查看其回购

结论

尽管总会有无数种方法来获取捷径并自动执行重复性任务,但希望这可以对一些最常见的方法有所帮助。

转播转播
回复

使用道具

245

主题

248

帖子

857

积分

网站编辑

Rank: 8Rank: 8

积分
857
qqpite 发表于 2020-4-18 15:21:49

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

qqpite

网站编辑

  • 主题

    245

  • 帖子

    248

  • 关注者

    0

手机版|ObjectX 超对象 |粤ICP备20005929号
Powered by  © 2019-2020版权归ObjectX 超对象