我正在尝试为VS代码设置一个格式化程序。我想使用黑色,但我正在努力使它工作。当我尝试使用Format Document命令时,会得到一个错误:"Python自动格式化:扩展'Python语言基础‘不能格式化~'/'“。
我学习了在线教程,并做了以下工作:
为什么VS代码仍然默认为“Python语言基础”?我该怎么把这个改成黑色或者雅普夫?
发布于 2020-06-13 05:48:07
如果它仍然在调用内置的Python扩展,那么就意味着黑色没有正确配置。您所做的步骤似乎没有什么问题,所以我建议您重新检查设置。
在这里,您必须确保(安装了Black的Python环境)与在VS代码中激活的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
设置为显式指定黑的路径:
"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.
再次,再次检查您的settings.json。
"editor.defaultFormatter": null,
"editor.formatOnSave": true,
"python.formatting.provider": "black",
另外,请确保您正在配置正确的设置,因为VS代码有3组设置设置。
当我尝试使用format document命令时
考虑到启用了formatOnSave
,实际上不需要调用Format Document命令。保存文件时,它应该自动调用defaultFormatter
(即null
),从而调用特定于语言的格式化程序(python.formatting.provider
)。
如果您真的想手动调用该命令,请使用..尝试使用格式化文档,然后选择Python。
发布于 2020-06-16 12:59:46
您提供的错误信息有点不寻常,因为“autopep8”是默认格式,如果您没有安装格式化提供程序,VSCode将提示您安装它。
'Python语言基础‘是一个内置的扩展,它说:扩展'Python语言基础’不能格式化。函数由python扩展提供。因此,也许您可以尝试重新安装相关的扩展,例如'Python',重新打开VSCode,甚至重新安装VSCode。有人也遇到了同样的问题,这个问题是通过重新安装解决的。这里
https://stackoverflow.com/questions/62335514
复制相似问题