31

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

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

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

认为这将是构建它以在 VS Code Python 格式中将参数传递给黑色的正确方法。

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

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

编辑:如果我将我的 settings.json 编辑为没有参数,例如:

"python.formatting.blackArgs": [],

黑色按预期工作。

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

4

4 回答 4

54

问题是对于 1.38.1 及更高版本,您需要=80而不是80after :--line-length

--line-length=80  

在此处输入图像描述

于 2019-09-22T11:47:12.373 回答
17

格式化程序特定设置的示例显示如下:

"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"]
于 2018-06-06T18:06:55.717 回答
7

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

Python 格式化的 Visual Studio Code GUI 设置

这会将 settings.json 转换为:

用于 Python 格式化的 Visual Studio Code JSON 设置

"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "110"]
于 2019-12-27T14:34:42.437 回答
5

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

于 2019-08-03T22:09:30.003 回答