我正在使用WSL2处理一些Python项目,但在VSCode (Remote - WSL)中,黑色不是自动格式化的。
系统信息:
Ubuntu-22.04-LTS
settings.json
/home/<user>/.vscode-server/data/Machine/settings.json
我的settings.json
看起来像:
{
// Python linting and formatting customizations..
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"python.linting.flake8Args": ["--max-line-length=100", "--ignore=E501"],
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "100"],
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"editor.formatOnSave": true
}
}
此设置在我的Windows 11系统上同样有效。在本地Windows中,每当我为python项目创建虚拟环境并保存python文件时,vscode就会自动要求我在venv中安装flake8
和black
。但这种情况在WSL中没有发生。
即使我在WSL中安装了black
,它也不会自动格式化Python代码;在Output > Python
或Output > Log (Main)
选项卡中也没有与black
相关的日志。
但是,在venv中安装black
之后,手动格式化就可以了:
(venv) asif@MSI:~/vscode/myproject/$ black app_pkg/models.py
reformatted app_pkg/models.py
All done! ✨ ✨
1 file reformatted.
注意:--我甚至尝试过将"python.formatting.blackPath": "./venv/bin/black"
添加到settings.json
文件中,但是它没有工作。
任何帮助都将不胜感激。提前感谢!
编辑:如建议的那样,我在我的系统中启用了以下两个设置:
Python代码格式化程序集为black
:
不过,我仍然无法使Python在VSCode- formatOnSave
中工作。
发布于 2022-07-08 01:46:45
,但是手动格式化在我在venv中安装黑色之后可以工作。
可以看到,黑色can work.Now让我们为vscode设置自动格式化:
首先打开vscode的设置,搜索format on save
,然后检查它。设置此步骤,代码将在每次保存文件时自动排版。
然后搜索Python formatting provider
并选择黑色。
https://stackoverflow.com/questions/72904396
复制相似问题