Flutter 开发工具使用

AS VS VS Code

VS
  • 比较轻量级
  • 前端开发利器
  • 无法调试 Android
AS
  • google 亲儿子,会率先适配 Flutter 的新特性
  • Android 开发利器
  • 支持 Flutter 调试

Android Studio

安装 Flutter 和 Dart 插件
  • 打开 Android Studio
  • 打开 Preference > Plugins(MACOS),File(Windows) > Settings > Plugins
  • 选择 Browse repositories ,搜索 Flutter plugin 然后点击安装
  • 安装完后,重新启动 Android Studio
使用技巧
  • flutter run -d "模拟器名称" //来在指定的模拟器上运行
  • 在使用 AndroidStudio 时,如果弹出说明文档卡住了,需要在 AndroidStudio -> preferences 中搜索 popup 如下图选中未知取消选择


    image.png
代码块
  • 可以通过AS中的 preferences -> Editor -> Live Templates 设置自己的代码块
  • stless: 创建一个StatelessWidget子类
  • stful: 创建一个创建一个 StatefulWidget 的子类,并关联 State 子类
  • itar 或 iter: 快速生成 for 循环
  • stanim:创建一个 StatefulWidget 的子类,并关联 State 子类,包含一个 AnimationController 的初始化字段
快捷键
  • Ctrl + r 编译运行
  • cmd + shift + o: 全局搜索文件
  • cmd + shift + f: 全局搜索内容
  • cmd + D: 快速复制当前行
  • cmd + delete: 删除当前行
  • Ctrl+option+ O: 删除未使用的import
  • option + Enter: 自动import未导入的文件,鼠标指向未导入的类,然后option + enter
  • CMD + -/+ 折起/展开代码块
  • CMD + . 折起/展开选中代码
  • CMD + [ 光标回到上一次编辑的位置
  • CMD + ] 光标回到下一次编辑的位置
  • CMD + L 定位某一行,甚至某一个字符
  • CMD + Y 查看选中类的属性
  • option + Enter: 在不同的地方有不同的扩展功能,很方便
  • CMD + option + L 格式化代码
  • CMD + Option +B 显示所有继承自该类的子类
  • Command + N 可以快速生成构造方法
  • option + enter 将statelessWidget 转为statefulWidget
  • 缩进:选中代码 按 Tab 健
  • 反缩进: 选中代码 按 shift + tab 健
  • CMD + Shit + R: 全局搜索替换
  • cmd + optional + w 将widget 抽取成方法或者类,这个快捷键可能会被占用,需要自己修改
  • AS中 CMD + option + 左右箭头返回上一层 /下一层
代码编辑提示
  • option +enter: 嵌套辅助/去掉控件
  • option +enter: child和children相互转换
  • CMD + option + 左右箭头: 返回上一层或下一层文件
实用工具
  • preferences -> Languages & Frameworks -> Flutter -> Format code on save:保存时自动格式化代码
  • Dart Analysis: 这里所有的警告,如没用到的变量,重复导入的文件
  • 右上边的Flutter outline: 可以清楚地看到所有的小部件,在UI中的排列情况,也可以看出小部件的嵌套情况。Flutter outline 中的 Extract Method。当我们编写来一个Widget,并且代码行数比较长,那可以考虑将这个widget相关的代码,提取到一个方法中
  • 查找类型的引用: Edit > Find > Find Usages
其他设置
  • 修改main.dart路径:如下图所示edit configurations 面板中导入Dart enterpoint: 中就是设置main.dart的位置的


    image.png

    Snip20200715_2.png

性能分析

在 Debug 模式下启动应用后,使用 View > Tool Windows > Flutter Performance打开性能工具窗口,以查看性能数据,以及 widget 的重载信息。
点击 Performance 窗口中的 Show widget rebuild information,查看正在重载的 widget 统计信息和重载频率。右边第二列显示了所在框架的重载次数。如果重载次数过多,会显示一个黄色旋转圆圈。最右一列显示了进入当前页面后 widget 的重载次数。对于未重载的小部件,将显示一个灰色圆圈,否则将显示一个灰色旋转圆圈。

该工具可以帮助你调试至少四个常见的性能问题:

1、整个屏幕(或大部分屏幕)由一个 StatefulWidget 构成,导致不必要的 UI 构建。可将 UI 拆分成多个具有较轻量 build() 方法的 widget。
2、未在屏幕上显示的 widget 发生了重载。例如,一个延伸到屏幕外的 ListView,或者未给延伸到屏幕外的列表设置 RepaintBoundary,会导致重绘整个列表。
3、AnimatedBuilder 的 build() 方法绘制了一个不需要动画的子树,导致不必要的静态对象重载。
4、一个 Opacity widget 在 widget tree 中使用了一个不必要的高度,或者通过直接操作 Opacity widget 的透明属性创建 Opacity 动画,导致 widget 和它的子树重载。

Visual Studio Code

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容