Python 如何在Sphinx autodoc中在长函数签名中换行并将其格式化

Python 如何在Sphinx autodoc中在长函数签名中换行并将其格式化,python,python-sphinx,signature,pretty-print,autodoc,Python,Python Sphinx,Signature,Pretty Print,Autodoc,我有一个带有长签名的函数,带有类型提示,如 def set_parameters( tokenizer: Union[None, "Tokenizer", str] = None, vocab: Optional["Vocab"] = None, vocab_from: Optional[Dict[str, str]] = None, max_sent_length: Optional[int] = None, ma

我有一个带有长签名的函数,带有类型提示,如

def set_parameters(
        tokenizer: Union[None, "Tokenizer", str] = None,
        vocab: Optional["Vocab"] = None,
        vocab_from: Optional[Dict[str, str]] = None,
        max_sent_length: Optional[int] = None,
        max_turn_length: Optional[int] = None,
        convert_to_lower_letter: Optional[bool] = None,
        weak=False) -> "FieldContext":
我使用Sphinx autodoc生成docstring

.. autofunction:: set_parameters
然后,Sphinx将忽略换行符,并在一行中描述函数

set_parameters(tokenizer: Union[None, Tokenizer, str] = None, vocab: Optional[Vocab] = None, vocab_from: Optional[Dict[str, str]] = None, max_sent_length: Optional[int] = None,    max_turn_length: Optional[int] = None, convert_to_lower_letter: Optional[bool] = None, weak=False) -> FieldContext:

它很难看,也很难读。我想要的是它要么跟随代码中的换行符,要么自动执行一些换行。有什么方法可以实现吗?

一个快速而肮脏的选择是使用CSS:

dl.class > dt > em:before {
    content: ' ';
    display: block;
}

它既不完美也不漂亮,但它至少能将参数放入一个更易于视觉扫描的列表中。

我认为没有一种简单的方法可以做到这一点。看,太好了,我会设法找到帮助的。谢谢,它很有效,但不漂亮。但是你启发我用html做一些小技巧。