如果它仍在调用内置的 Python Language Basics 扩展,这意味着 Black 配置不正确。您执行的步骤似乎没有任何问题,因此我建议您仔细检查设置。
在这里,您必须确保安装 Black 的 Python 环境与您在 VS Code 中激活的 Python 环境相同。请参阅selecting and activating an environment 上的文档。如果您有多个 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, and Folder settings。
当我尝试使用格式化文档命令时
鉴于您启用了formatOnSave,您确实不需要调用Format Document 命令。当您保存文件时,它应该会自动调用defaultFormatter(即null),因此它会调用特定于语言的格式化程序(python.formatting.provider)。
如果您真的想手动调用该命令,请尝试 Format Document With.. 然后选择 Python。