我使用 VSCode,当我使用 Black 格式化程序(安装了扩展)格式化 Python 代码时,列表的元素会在每一行打印一个。 有什么问题吗?
从此:
a = [17, 24, 91, 96, 67, -27, 79, -71, -71, 58, 48, 88, 88, -16]
对此:
a = [
17,
24,
91,
96,
67,
-27,
79,
-71,
-71,
58,
48,
88,
88,
-16,
]
这是settings.json 文件:
{
"editor.formatOnSave": false,
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter"
}
}
我尝试使用其他格式化程序,但不喜欢它们
来自黑色文档:
Black 尝试在每一行渲染一个完整的表达式或简单的语句。如果这符合分配的线路长度,那就太好了。
[...]
如果没有,黑方将查看第一个外部匹配括号的内容,并将其放在单独的缩进行中。
[...]
如果仍然不符合要求,它将使用相同的规则进一步分解内部表达式,每次都缩进匹配的括号。如果匹配括号对的内容以逗号分隔(如参数列表或字典文字等),则 Black 将首先尝试将它们与匹配括号保持在同一行。如果这不起作用,它将把它们全部放在单独的行中。
这就是 Black 格式化代码的方式。如果它将您的列表分成单独的行,则表达式无法容纳在一行中。
黑色默认每行 88 个字符
如果您想更改行长度以便将此特定语句放在一行上,请将以下内容添加到您的 VS Code 配置中:
"black-formatter.args": ["--line-length", "100"]