【问题标题】:Exclude all generated code from dartanalyzer从 dartanalyzer 中排除所有生成的代码
【发布时间】:2020-04-15 09:17:27
【问题描述】:

我正在尝试使用以下 analysis_options.yaml 文件从包中排除所有生成的文件。

include: package:pedantic/analysis_options.yaml
analyzer:
    strong-mode:
        implicit-casts: false
        implicit-dynamic: false
    exclude:
        - lib/**.g.dart

我仍然收到一个名为 lib/store/state/presentations_state.g.dart 的文件违反规则 implicit_dynamic_parameter 的错误。如果我排除 **.g.dart 没有 lib/ 前缀,dartanalyzer 工作正常,但 dart-code.dart-code VS Code 插件在 YAML 文件的第一行某处报告 Undefined alias. dart(parse_error),使整个项目标记为有错误.

我可以在具有多个包和单个包的 monorepos 中重现这一点。

【问题讨论】:

  • 哇,我很生气读到这个问题已经解决了 4 年。更糟糕的是,编写- "**.g.dart"- lib/**.g.dart- **.g.dart 最终都会出现不同的错误和 lints,因此这似乎取决于它们如何排除文件的规则。

标签: dart visual-studio-code static-analysis


【解决方案1】:

【讨论】:

  • 谢谢。我将检查如何ignore_for_fileimplicit-dynamic: false 分析选项。
  • 如果您在 IDE 中复制警告或从命令行运行分析器,您将看到警告的“代码名称”——这就是您忽略的内容!
  • 在这种情况下,有很多:implicit_dynamic_parameterimplicit_dynamic_variableimplicit_dynamic_typeimplicit_dynamic_function 和可能的其他......
【解决方案2】:

我将以下内容放入对我有用的analysis_options.yaml


analyzer:
  exclude:
    - '**.freezed.dart'
    - '**.g.dart'
    - '**/generated_plugin_registrant.dart'

不再分析与模式匹配的所有文件,与其在文件路径中的位置无关。

引号是防止 yaml 中的语法错误所必需的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-26
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 2016-09-04
    • 2012-11-04
    • 1970-01-01
    相关资源
    最近更新 更多