如果它仍在调用内置的 Python Language Basics 扩展,那么这意味着 Black 没有正确配置。您执行的步骤似乎没有任何问题,因此我建议您仔细检查设置。
在这里,您必须确保安装 Black 的 Python 环境与您在 VS Code 中激活的 Python 环境相同。请参阅有关选择和激活环境的文档。如果您有多个 Python 版本或者您正在使用虚拟环境,则必须确保您激活了正确的版本。
Python:选择解释器
(test-py38) gino@~$ pip install black
Requirement already satisfied: black in ./.venvs/test-py38/lib/python3.8/site-packages (19.10b0)
...
(test-py38) gino@~$ which black
/Users/gino/.venvs/test-py38/bin/black
您可以设置python.formatting.blackPath
显式指定 Black 的路径:
"python.formatting.blackPath": "/Users/gino/.venvs/test-py38/bin/black"
您也可以尝试通过手动调用来检查 Black 是否在工作。
(test-py38) gino@~$ black test.py
reformatted test.py
All done! ✨ ✨
1 file reformatted.
- 将黑色设置为python格式提供程序(进入设置,找到“Python › Formatting:Provider”,从下拉列表中选择黑色)
- 保存时打开格式
- 将默认格式化程序设置为 null
再次,仔细检查您的settings.json
"editor.defaultFormatter": null,
"editor.formatOnSave": true,
"python.formatting.provider": "black",
此外,请确保您配置了正确的设置,因为 VS Code 有 3 组设置User、Workspace和Folder settings。
当我尝试使用格式文档命令时
鉴于您启用了formatOnSave
,您真的不需要调用Format Document命令。当您保存文件时,它应该会自动调用defaultFormatter
(即null
),因此它会调用特定于语言的格式化程序(python.formatting.provider
)。
如果您真的想手动调用该命令,请尝试Format Document With..然后选择Python。