Dan*_* O. 26 python docstring python-black
我正在针对 Python 脚本运行 Black 代码格式化程序,但它不会重新格式化文档字符串的行长度。例如,给出以下代码:
def my_func():
"""
This is a really long docstring. This is a really long docstring. This is a really long docstring. This is a really long docstring. This is a really long docstring. This is a really long docstring.
"""
return
Run Code Online (Sandbox Code Playgroud)
当针对此脚本运行 Black 时,行长度不会改变。如何确保文档字符串在运行 Black 时得到格式化?
小智 38
维护者在这里!:海浪:
简短的回答是否定的,您当前无法配置 Black 来修复文档字符串中的行长度问题。
Black 不太可能拆分或合并文档字符串中的行,因为风险太大,结构化数据可以而且确实存在于文档字符串中。虽然我希望添加的新行不会让消费者失望,但这仍然是一个合理的担忧。
目前有一个未解决的问题要求这样做(尽管它也希望文档字符串和字符串的行长度限制为 79)GH-2289,特别是文档字符串GH-2865。您还可以阅读GH-1713,它是关于分裂评论的(同样,维护者也有复杂的感受)。
目前,也许您可以查看https://github.com/PyCQA/docformatter,它似乎确实包装了文档字符串(请参阅--wrap-descriptions和--wrap-summaries选项)
PS,如果您好奇我们是否会添加一个标志来分割文档字符串或注释,那么这又不太可能,因为我们寻求最小化格式可配置性。特别是因为预先存在的标志仅禁用 Black 风格的某些元素(除非 --line-length 存在,因为没有真正的共识它应该是什么)。请随意在链接的问题中陈述您的论点!