Flutter中如何为整个文件或类忽略prefer_final_fields lint规则?
搞定Dart lint规则的类级别/文件级别忽略问题
我之前也踩过这个坑,给你分两种场景说清楚怎么操作:
一、给整个类忽略特定lint规则
你之前直接在类上方加// ignore: prefer_final_fields没效果,主要是因为像prefer_final_fields这类lint规则,作用对象是类的成员变量,不是类本身,所以类上方的单条忽略注释不会覆盖整个类的成员。
想要针对整个类的成员忽略这个规则,有两个可行的办法:
- 办法1:把忽略注释放在类定义的紧上方(不同lint工具的识别逻辑略有差异,也可以尝试和类定义放在同一行):
// ignore: prefer_final_fields class Class { var _count = 0; var _count2 = 0; } - 办法2:如果上面的方式还是不生效,更稳妥的是直接用下面要讲的文件级别忽略,或者在类内部用注释统一标记(部分工具支持块注释覆盖类内所有成员):
class Class { // ignore: prefer_final_fields var _count = 0; var _count2 = 0; }
二、给整个文件忽略特定lint规则
这个操作超简单,只要在文件的最开头第一行加上// ignore_for_file: 规则名称就行。比如要让整个文件都跳过prefer_final_fields的检查:
// ignore_for_file: prefer_final_fields class Class { var _count = 0; var _count2 = 0; } class AnotherClass { var _name = ""; }
这样文件里所有类的成员变量都不会触发这个lint提示了。
如果要同时忽略多个规则,用逗号分隔规则名即可:
// ignore_for_file: prefer_final_fields, unused_local_variable
内容的提问来源于stack exchange,提问作者iDecode
相关产品推荐
相关产品推荐

