VS Code Python + 黑色格式化程序参数 - python.formatting.blackArgs

VS Code Python + Black formatter arguments - python.formatting.blackArgs

我在 Windows、python 3.6 上通过 Anaconda 使用 VS Code 1.23.1 的 2018 年 5 月 Python 扩展(2018 年 6 月发布),conda 从 conda 安装黑色-进入我的 conda 环境。

在我的用户 settings.json 中,我有以下内容:

"python.formatting.blackArgs": [
    "--line-length 80"
],

认为 将是构建此结构以将参数传递给 VS Code Python 格式的 black 的正确方法。

但是,在我的 python 输出窗格中,我得到以下内容:

Formatting with black failed.
Error: Error: no such option: --line-length 80

编辑:如果我将 settings.json 编辑为无参数,例如:

"python.formatting.blackArgs": [],

黑色按预期工作。

有谁知道如何将参数正确传递给新的(截至 2018 年 6 月)黑色格式化程序?

examples of formatter-specific settings显示如下:

"python.formatting.autopep8Args": ["--max-line-length", "120", "--experimental"],
"python.formatting.yapfArgs": ["--style", "{based_on_style: chromium, indent_width: 20}"]

所以尝试:

"python.formatting.blackArgs": ["--line-length", "80"]

我的设置是: "python.formatting.blackArgs": ["--line-length=110"] 它工作正常。 您的用户中缺少等号 settings.json

问题是对于 1.38.1 及更高版本,在 --line-length 之后需要 =80 而不是 80

--line-length=80  

在设置 GUI 窗格中配置的正确方法是 --line-length 和所需的值作为单独的项目:

Visual Studio Code GUI Settings for Python Formatting

这个转换成 settings.json 成这个:

Visual Studio Code JSON Settings for Python Formatting

"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "110"]