用途:为 Erlang/Elixir 项目配置 Dialyzer 的类型检查与静态分析,发现类型错误、不可达代码及多余测试。
主要能力:支持通过配置文件管理警告忽略;在 mix.exs 的 dialyzer 段配置 PLT 与分析行为。
必要用法:忽略文件可使用 dialyzer.ignore-warnings(如 lib/my_module.ex:42:pattern_match_cov)或 .dialyzer_ignore.exs(支持字符串与正则,如 ~r/lib/legacy/.*/)。mix.exs 中常用选项包括 plt_add_apps、plt_core_path、plt_file、plt_add_deps(:app_tree、:apps_direct、:transitive)、flags(:error_handling、:underspecs、:unmatched_returns、:unknown、:overspecs)、ignore_warnings、list_unused_filters。依赖可写 {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}。运行示例:mix dialyzer --format github。
适用场景:本地开发、CI(含 GitHub Actions)中执行分析。
限制:资料未提供具体性能数据、版本兼容范围或官方安装步骤。建议渐进采用检查项、补充 @spec、记录有意忽略及在 CI 中运行。