运行flutter format后pub.dev仍扣格式分,如何解决该问题?
问题1:定位不符合格式要求的具体位置
运行以下命令可以直接输出所有格式不匹配的文件及具体差异:
dart format --output=show --set-exit-if-changed .
如果你的项目用git做版本管理,也可以在运行flutter format .之后执行git diff,对比格式化前后的代码变化,就能精准找到不符合规范的行。另外pub.dev的扣分项展开后也会直接展示平台校验出的格式差异片段。
问题2:更新flutter format的额外操作
不需要额外操作,flutter format本质是调用Flutter SDK内置的Dart SDK中的dart format工具,更新Flutter版本时Dart SDK会同步更新,format工具也会同步升级。
需要注意的是你当前使用的是master渠道的Flutter,pub.dev的评分系统使用的是稳定版Dart的格式化规则,不同渠道的格式化规则可能存在差异,这是你本地格式化后仍被扣分的最常见原因。
问题3:是否需要其他格式化工具
完全不需要,pub.dev只认Dart官方提供的dart format(也就是flutter format)的格式化结果,使用IDE自带格式化、第三方格式化工具反而会因为规则不匹配导致扣分。
问题4:其他解决办法
- 先切换到Flutter稳定渠道,升级到最新稳定版后重新运行
flutter format .,提交修改后重新发布包版本,平台会自动重新评分; - 如果确认格式完全符合稳定版format规则仍被扣分,可以在包的pub.dev页面找到反馈入口提交工单,管理员人工复核后会修正评分。
内容的提问来源于stack exchange,提问作者luvzfootball
相关产品推荐
相关产品推荐

