如何在同一文件中使用ignore_for_file后重新启用Lint检查
解决方法
ignore_for_file是作用于整个文件的全局指令,文件中只能生效一个,而且不存在用-规则名来取消已设置忽略的语法,所以你之前的写法根本不会起作用。要实现Class1禁用规则、Class2启用规则的需求,得用类级别的忽略指令:
正确代码示例
// 对Class1类范围内禁用non_constant_identifier_names规则 // ignore_for_class: non_constant_identifier_names class Class1 { final _count_me = 0; final _count2_1 = 0; Class1() { _count_me + _count2_1; } } // Class2不做任何忽略,默认启用规则 class Class2 { final count_me = 0; // 这里会正常触发non_constant_identifier_names的Lint警告 final _count2 = 0; Class2() { count_me + _count2; } }
补充说明
- 如果你的Dart Analyzer版本不支持
ignore_for_class,可以在Class1的每个不符合规则的成员上单独加忽略:class Class1 { // ignore: non_constant_identifier_names final _count_me = 0; // ignore: non_constant_identifier_names final _count2_1 = 0; Class1() { _count_me + _count2_1; } } - 不要在文件开头设置全局的
ignore_for_file: non_constant_identifier_names,否则整个文件的规则都会被禁用,Class2自然不会有警告。
内容的提问来源于stack exchange,提问作者coolboy
相关产品推荐
相关产品推荐

