我正在开发一个移动应用程序和Web前端,带有Dart/Flutter与IntelliJ Idea。当前版本的 Dart 警告正确键入局部变量。有一个Dart风格指南 https://dart-lang.github.io/linter/lints/omit_local_variable_types.html 说:"通常,局部变量的类型可以很容易地推断出来,所以没有必要对它们进行注释。
对于编译器来说可能是正确的,但对于人类读者来说肯定不是这样。由于它特别将类型问题推迟到变量的使用部分,因此错误检测和代码读取变得越来越昂贵。
那么如何在编译器/项目级别禁用此警告呢?
更好的是:如果未设置类型,如何强制警告?
我知道这有点旧了,但我看到没有答案,所以现在添加在这里以备将来使用。
在项目文件夹的根目录中,添加一个"analysis_options.yaml"文件,并包含以下代码。进一步阅读: https://dart.dev/guides/language/analysis-options
分析_options.yaml:
linter:
rules:
always_specify_types: true
omit_local_variable_types: false
不确定始终指定类型时是否需要两者,但试一试。
要仅忽略特定文件的警告,请执行以下操作:
// ignore_for_file: omit_local_variable_types
class Foo {
// ...
}
在警告代码行上方添加// ignore: omit_local_variable_types
:
// ignore: omit_local_variable_types
int years = (dif.inDays / 365).floor();