如何用dart fix命令将super(key:key)转为super.key以消除警告?
Dart "将key转换为超类参数"警告的自动修复方案
问题场景
收到"将key转换为超类参数"的警告,现有代码示例:
class FooPage extends StatefulWidget { const FooPage(Key? key) : super(key: key); @override State<FooPage> createState() => _FooPageState(); }
需要将所有super(key: key)调用批量转换为super.key,目标转换效果:
转换前
const FooPage({Key? key}) : super(key: key);
转换后
const FooPage({super.key});
解决方案
存在对应的dart fix命令,直接执行以下命令即可完成批量修复:
dart fix --apply super_parameters
该修复规则会自动识别构造函数中传递给超类的key参数,将其替换为Dart 2.17及以上版本支持的超类参数简写语法super.key,同时自动适配参数的命名形式、可空性等细节,保证代码语义完全一致。
注意:使用前需确认你的Dart SDK版本不低于2.17,否则该语法特性无法被支持。
内容的提问来源于stack exchange,提问作者iDecode
相关产品推荐
相关产品推荐

