如何快速迁移Flutter项目至空安全?自动化处理分析问题
空安全迁移自动化处理方案
用
dart migrate的交互式网页工具:
运行dart migrate后,终端会输出一个本地访问链接,打开这个链接就能进入可视化迁移界面。这里会自动识别可批量修复的空安全问题,大部分?和!的添加操作都能一键完成,还能实时预览修改后的代码,确认没问题再应用到项目里,能省大量手动修改的功夫。借助IDE的批量修复功能:
Android Studio/IntelliJ:打开Analyze > Inspect Code,选择整个项目进行代码检查,在结果里筛选Null Safety相关问题,右键选择Apply Fix即可批量处理重复修改。
VS Code:打开命令面板(Ctrl+Shift+P),输入Fix All Auto-Fixable Problems,也能处理大部分自动可修复的空安全问题。剩余问题的手动处理:
少数涉及业务逻辑的问题(比如判断某个变量是否真的不会为null),工具无法自动决策,这时候才需要手动确认,添加!或者把变量类型改成可空?,这部分数量通常远少于初始的205个。
补充:无需特意降级Flutter/Dart,新版本也能完成迁移:
先在项目根目录运行flutter pub outdated检查依赖是否兼容空安全,接着执行flutter pub upgrade --null-safety升级依赖,之后直接用IDE的迁移工具即可,新版dart migrate功能已整合到IDE中。
内容的提问来源于stack exchange,提问作者Cedric
相关产品推荐
相关产品推荐

