SuperAPI AI 工具集

signals-lint

通用与其它

查看项目

更新于 10-16 01:10

技能介绍

signals_lint 是 signals.dart 生态中的静态分析与工具技能,用于在开发阶段发现信号(signal)与状态使用中的问题,并提供 IDE 实时诊断和自动修复。

用途:通过自定义 lint 规则和编译器警告,规范 signals.dart 的写法,减少因状态创建位置不当或使用已弃用 API 导致的性能与生命周期问题。

主要能力:包含五条 lint 规则。signals_avoid_create_in_build_method 标记在 Flutter build 方法内创建 signal 或 computed 变量,避免每次重建重置状态;signals_avoid_deprecated_watch_extension 标记已弃用的 BuildContext.watch() 与 unwatch() 扩展;signals_avoid_deprecated_signals_mixin 标记 StatefulWidget 状态上已弃用的 SignalsMixin;signals_prefer_named_builder 要求 SignalBuilder 与 Watch 使用命名 builder 回调而非位置参数;signals_prefer_unified_options 标记直接传入创建者配置参数(如 autoDispose: true),建议改用统一 options 类。

使用方式:在 pubspec.yaml 的 dev_dependencies 中加入 custom_lint: ^0.8.1 与 signals_lint: ^7.0.0,并在 analysis_options.yaml 的 analyzer.plugins 下添加 custom_lint 以启用实时诊断。IDE 快速修复菜单(Cmd+. 或 Alt+Enter)提供 WrapWithSignalBuilder、ConvertStatelessToSignalWidget、ConvertStatefulToSignalStatefulWidget、MigrateSignalsMixinToSignalStatefulWidget、MigrateWatchToSignalBuilder 等自动重构。

适用场景:使用 signals.dart 的 Flutter 项目,尤其是需要统一状态管理写法、迁移旧 API 或减少 build 内状态创建的团队。

限制:资料未提供具体版本兼容范围、性能数据或收费信息;规则与快速修复的实际行为以对应版本为准。