pub.dev是否要求Dart包采用80字符行长度格式?
关于pub.dev包代码格式与自定义行长度的问题
核心结论:pub.dev不强制要求必须使用80字符行长度,但它的格式检查会遵循你项目中配置的Dart格式化规则,默认情况下会以80字符作为检查标准。
问题原因分析
你遇到的情况本质是:
- 本地用
flutter format . -line-length=120格式化后,代码已经符合120行长度规范,但pub.dev的检查工具默认读取不到你的自定义行长度配置,仍以80字符标准校验,因此判定格式不合格。 - 执行默认
flutter format .时,工具按80字符规则重新格式化,自然会产生大量修改。
解决步骤
要让pub.dev认可你的120字符行长度格式,需在项目中明确配置规则:
添加格式化配置文件
在项目根目录创建或修改以下任一文件:- 方式一:在
analysis_options.yaml中加入格式化配置:
(若已有该文件,只需追加上述formatter: line_length: 120formatter块即可) - 方式二:创建
.dartfmt文件,文件内容仅一行数字:120
- 方式一:在
重新格式化代码
配置完成后执行:flutter format . -line-length=120确保所有代码都按120行长度规则格式化。
重新发布包
提交修改后的代码,重新发布到pub.dev,此时检查工具会读取你的自定义配置,用120字符行长度验证格式,即可通过检查。
额外说明
pub.dev的格式检查完全基于官方dart format工具的规则,只要项目配置了自定义行长度,且代码确实按该规则格式化,就会被判定为格式合规,无需被迫使用80字符默认值。
内容的提问来源于stack exchange,提问作者buttonsrtoys
相关产品推荐
相关产品推荐

