Python vscode 的黑色格式化程序未格式化
Python black formatter for vscode not formatting
我正在尝试在 Ubuntu 20.04 上的 VS Code 上将 black as a formatter 用于 Python,但它无法自动保存。
我在 Python>Formatting:Provider
中选择了 black
。我使用 prettier 作为我的默认格式化程序,我为其添加了 .prettierignore、禁用和卸载以确保它不会干扰黑色。我还向 ./local/bin/black
添加了自定义路径。虽然当我通过终端 运行 它时它起作用了。我如何让它发挥作用?
{
editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"-l 120"
],
"editor.formatOnType": true,
"python.formatting.blackPath": "./local/bin/black"
}
在 VS Code 上,您只需要 setup black
as a formatter 一些设置。看来你大部分都做对了,但我对 blackPath
使用相对路径表示怀疑(如果路径确实不正确,VS Code 应该显示错误)。
我建议切换到绝对路径。
这是我的设置:
// User Settings
"editor.defaultFormatter": null,
"editor.formatOnSave": false, // enable per language
"[python]": {
"editor.formatOnSave": true
},
"python.formatting.provider": "black",
"python.formatting.blackPath": "/usr/local/bin/black"
// Workspace Settings
"python.formatting.blackPath": "/absolute/path/to/venv/with/black",
"python.formatting.blackArgs": [
"-l 120"
],
首先,我建议取消 editor.defaultFormatter
设置(或者将其设置回默认值 null
)。不要为所有内容设置默认值,而是为 each 语言和 each 扩展配置格式化程序。在这里,它是 null
,然后我配置了 python
-特定的设置,然后我为其他语言(例如 JS 和 C++)设置了单独的设置。您提到了一些关于 Prettier 的内容,这可能会干扰使用黑色的 VS Code。
其次,确保您正在修改正确的设置。 VS Code 有 3 sets of settings:User、Workspace 和 Folder。我通常在 User 设置中为 Python 启用 formatOnSave
,并将 provider
设置为 black
(使用 system-wide 安装 black
)。在特定工作区上,我有一个虚拟环境,我将 blackPath
覆盖为专门安装在该虚拟环境中的 black
。您也可以将所有设置放在 User 设置中或使用相同的 system-wide-installed black
。但这里的要点是两者都使用绝对路径(基本上从控制台复制 which black
的输出)。
请注意,如果您指定 blackPath
指向特定的虚拟环境,请确保在您的工作区上 select that same virtual environment。
最后,您可以从“输出”选项卡中检查是否存在任何问题 > Python:
我正在尝试在 Ubuntu 20.04 上的 VS Code 上将 black as a formatter 用于 Python,但它无法自动保存。
我在 Python>Formatting:Provider
中选择了 black
。我使用 prettier 作为我的默认格式化程序,我为其添加了 .prettierignore、禁用和卸载以确保它不会干扰黑色。我还向 ./local/bin/black
添加了自定义路径。虽然当我通过终端 运行 它时它起作用了。我如何让它发挥作用?
{
editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"python.formatting.provider": "black",
"python.formatting.blackArgs": [
"-l 120"
],
"editor.formatOnType": true,
"python.formatting.blackPath": "./local/bin/black"
}
在 VS Code 上,您只需要 setup black
as a formatter 一些设置。看来你大部分都做对了,但我对 blackPath
使用相对路径表示怀疑(如果路径确实不正确,VS Code 应该显示错误)。
我建议切换到绝对路径。
这是我的设置:
// User Settings
"editor.defaultFormatter": null,
"editor.formatOnSave": false, // enable per language
"[python]": {
"editor.formatOnSave": true
},
"python.formatting.provider": "black",
"python.formatting.blackPath": "/usr/local/bin/black"
// Workspace Settings
"python.formatting.blackPath": "/absolute/path/to/venv/with/black",
"python.formatting.blackArgs": [
"-l 120"
],
首先,我建议取消 editor.defaultFormatter
设置(或者将其设置回默认值 null
)。不要为所有内容设置默认值,而是为 each 语言和 each 扩展配置格式化程序。在这里,它是 null
,然后我配置了 python
-特定的设置,然后我为其他语言(例如 JS 和 C++)设置了单独的设置。您提到了一些关于 Prettier 的内容,这可能会干扰使用黑色的 VS Code。
其次,确保您正在修改正确的设置。 VS Code 有 3 sets of settings:User、Workspace 和 Folder。我通常在 User 设置中为 Python 启用 formatOnSave
,并将 provider
设置为 black
(使用 system-wide 安装 black
)。在特定工作区上,我有一个虚拟环境,我将 blackPath
覆盖为专门安装在该虚拟环境中的 black
。您也可以将所有设置放在 User 设置中或使用相同的 system-wide-installed black
。但这里的要点是两者都使用绝对路径(基本上从控制台复制 which black
的输出)。
请注意,如果您指定 blackPath
指向特定的虚拟环境,请确保在您的工作区上 select that same virtual environment。
最后,您可以从“输出”选项卡中检查是否存在任何问题 > Python: