我正在学习颤振,我已经创建了一个简单的Android应用程序。我想遵循最佳实践,所以我还创建了一个analysis_options.yaml
include: package:pedantic/analysis_options.yaml
linter:
rules:
public_member_api_docs: trueAndroid根据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中的设置
发布于 2021-04-23 17:16:14
我假设它们使用不同的预置(如果您没有配置analysis_options.yaml)。
dart analyze可能默认为更适合发布的包(public_member_api_docs),而flutter analyze则更适合于没有正在使用的API的应用程序。
您可以尝试添加一个具有预置配置的analysis_options.yaml文件,如皮棉或学究。
这样,您可能会看到更多的提示和警告,但是您有一个很好的基线,我认为这两个命令应该为您提供相同的输出。
或者,您可以从一个空的analysis_options.yaml开始,并启用/禁用您想要逐一使用的检查。
编辑
为什么不分析一下尊重我的analysis_options.yaml的设置?
我错过了这个。传统上,这两个命令的输出和格式不同,因为它们一直使用不同的依赖版本。对于Dart 2.12和Flator2.0,它们都应该在引擎盖下使用相同的东西。
尽管如此,目前似乎正在进行中的https://github.com/flutter/flutter/projects/106来解决最后的差距。
https://stackoverflow.com/questions/65308789
复制相似问题