分析器无法在 Visual Studio 代码中工作……是吗?

Analyzer isn't working in Visual Studio Code ... or is it?

在Visual Studio代码中,调用Dart函数时省略@required参数似乎没有出现错误。我必须做些什么才能让分析仪工作吗?或者是否标记了错误,而我只是没有看到它们?任何帮助将不胜感激...

import 'package:meta/meta.dart';

void sayHello({@required String to, bool inEnglish}){

  if(inEnglish == null || inEnglish){
    print("Hello, $to");
  } else {
    print("Bonjour, $to");
  }
}

main(){
 sayHello(inEnglish: true); // output: Hello, null, no complaints about **to** missing
}

Dart 语言具有必需的位置参数、可选的位置参数和可选的命名参数。遗憾的是,Dart 不支持必需的命名参数。

@required 注释实际上没有做任何事情。这只是 Flutter 添加的一种变通方法,当您未传递标有它的参数时,分析器可以使用它来添加警告。但它不会阻止您省略 "required" 参数,这样做的代码仍然可以编译并且 运行 非常好。