[英]Getting “Extension 'Python Language Basics' cannot format ~'/'” even after configuring Black as formatter
我正在嘗試為 VS Code 設置格式化程序。 我想使用黑色,但我很難讓它發揮作用。 當我嘗試使用 Format Document 命令時,我收到一條錯誤消息,提示“Python 自動格式化:擴展 'Python Language Basics' 無法格式化 ~'/'”。
我遵循了在線教程並完成了以下操作:
為什么 VS Code 仍然默認為“Python 語言基礎”? 如何將其更改為 Black 或 yapf?
如果它仍在調用內置的 Python Language Basics 擴展,那么這意味着 Black 沒有正確配置。 您執行的步驟似乎沒有任何問題,因此我建議您仔細檢查設置。
- pip3 安裝黑色
在這里,您必須確保安裝 Black 的 Python 環境與您在 VS Code 中激活的 Python 環境相同。 請參閱有關選擇和激活環境的文檔。 如果您有多個 Python 版本,或者您使用的是虛擬環境,則必須確保激活正確的版本。
Python:Select 解釋器
(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
再次仔細檢查您的設置。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..然后 select Python 。
您給出的錯誤信息有點不尋常,因為“autopep8”是默認格式,如果您沒有安裝格式提供程序,VSCode 會提示您安裝它。
“Python Language Basics”是一個內置擴展,它說:擴展“Python Language Basics”無法格式化。 function 由 python 擴展提供。 所以,也許你可以嘗試重新安裝相關的擴展,例如“Python”,重新打開 VSCode,甚至重新安裝 VSCode。 有人也遇到同樣的問題,通過重裝解決了。 這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.