为什么 flutter analyze 与 dart analyze 不同?
Why is flutter analyze different from dart analyze?
我正在学习 Flutter,我已经创建了一个简单的 Android 应用程序。我想遵循最佳实践,所以我还创建了一个 analysis_options.yaml
:
include: package:pedantic/analysis_options.yaml
linter:
rules:
public_member_api_docs: true
Android Studio 根据 analysis_options.yaml
正确更新其代码分析设置并报告违规。
问题是当我 运行 flutter analyze
它不报告任何 public_member_api_docs
:
flutter analyze
Running "flutter pub get" in flutter-course... 514ms
Analyzing flutter-course...
info • Unused import: 'package:places/ui/screen/sight_list_screen.dart' • lib/main.dart:2:8 • unused_import
info • Omit type annotations for local variables • lib/ui/screen/visiting_screen.dart:166:5 • omit_local_variable_types
但是当我 运行 dart analyze
它报告大量警告:
dart analyze
Analyzing flutter-course... 2.1s
info • Document all public members at lib/constants.dart:5:16 • (public_member_api_docs)
info • Document all public members at lib/constants.dart:6:16 • (public_member_api_docs)
…
info • Unused import: 'package:places/ui/screen/sight_list_screen.dart' • lib/main.dart:2:8 • unused_import
info • Omit type annotations for local variables • lib/ui/screen/visiting_screen.dart:166:5 • omit_local_variable_types
为什么 flutter analyze
不遵守我 analysis_options.yaml
的设置?
我假设他们使用不同的预设(如果您没有配置 analysis_options.yaml
)。
dart analyze
可能默认为更适合已发布包 (public_member_api_docs
) 的内容,而 flutter analyze
更适合没有 [=38] 的应用程序=] 正在被消耗。
您可以尝试添加带有一些预设配置的 analysis_options.yaml
文件,例如 lint or pedantic。
有了它,您可能会看到更多提示和警告,但您有一个很好的基线,我认为这两个命令应该给您相同的输出。
或者,您可以从一个空的 analysis_options.yaml
和 enable/disable 一张一张要使用的支票开始。
编辑
Why doesn't flutter analyze respect the settings from my analysis_options.yaml?
我错过了这个。传统上,这两个命令的输出和格式存在差异,因为它们使用的是不同的依赖版本。对于 Dart 2.12 和 Flutter 2.0,它们都应该在底层使用相同的东西。
话虽这么说,目前似乎 https://github.com/flutter/flutter/projects/106 正在解决最后剩下的差异。
我正在学习 Flutter,我已经创建了一个简单的 Android 应用程序。我想遵循最佳实践,所以我还创建了一个 analysis_options.yaml
:
include: package:pedantic/analysis_options.yaml
linter:
rules:
public_member_api_docs: true
Android Studio 根据 analysis_options.yaml
正确更新其代码分析设置并报告违规。
问题是当我 运行 flutter analyze
它不报告任何 public_member_api_docs
:
flutter analyze
Running "flutter pub get" in flutter-course... 514ms
Analyzing flutter-course...
info • Unused import: 'package:places/ui/screen/sight_list_screen.dart' • lib/main.dart:2:8 • unused_import
info • Omit type annotations for local variables • lib/ui/screen/visiting_screen.dart:166:5 • omit_local_variable_types
但是当我 运行 dart analyze
它报告大量警告:
dart analyze
Analyzing flutter-course... 2.1s
info • Document all public members at lib/constants.dart:5:16 • (public_member_api_docs)
info • Document all public members at lib/constants.dart:6:16 • (public_member_api_docs)
…
info • Unused import: 'package:places/ui/screen/sight_list_screen.dart' • lib/main.dart:2:8 • unused_import
info • Omit type annotations for local variables • lib/ui/screen/visiting_screen.dart:166:5 • omit_local_variable_types
为什么 flutter analyze
不遵守我 analysis_options.yaml
的设置?
我假设他们使用不同的预设(如果您没有配置 analysis_options.yaml
)。
dart analyze
可能默认为更适合已发布包 (public_member_api_docs
) 的内容,而 flutter analyze
更适合没有 [=38] 的应用程序=] 正在被消耗。
您可以尝试添加带有一些预设配置的 analysis_options.yaml
文件,例如 lint or pedantic。
有了它,您可能会看到更多提示和警告,但您有一个很好的基线,我认为这两个命令应该给您相同的输出。
或者,您可以从一个空的 analysis_options.yaml
和 enable/disable 一张一张要使用的支票开始。
编辑
Why doesn't flutter analyze respect the settings from my analysis_options.yaml?
我错过了这个。传统上,这两个命令的输出和格式存在差异,因为它们使用的是不同的依赖版本。对于 Dart 2.12 和 Flutter 2.0,它们都应该在底层使用相同的东西。
话虽这么说,目前似乎 https://github.com/flutter/flutter/projects/106 正在解决最后剩下的差异。