[英]Visual Studio Code - Python - Windows - Black runs but does not format code
[英]Visual Studio Code> Python > Black formatting does not run on save
虽然我似乎已经正确配置了 linitng 和格式,但 linting 运行但黑色格式没有。
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
"--max-line-length=110"
],
"python.linting.lintOnSave": true,
"python.formatting.provider": "black",
"python.formatting.blackPath": "/usr/local/bin/black",
"python.formatting.blackArgs": [
"--line-length",
"110"
],
"editor.formatOnSave": true,
我已经检查过,黑色配置正确,我可以从命令行运行格式化而不会出现问题。
但是保存在IDE时,black不格式化文件。 它也不会抱怨,不会弹出任何错误消息,也不会在日志中显示任何内容。 它只是根本不运行格式。
我正在使用远程编辑运行这个 insisde docker-container:不确定,如果这有什么不同。
黑色版本是:
black>=19.3b0
vscode 版本是1.36.1
。
谢谢任何帮助,因为现在我很无能为力,为什么黑色格式化不运行......
迟到的答案,以防它对任何人有帮助。 我遇到了同样的问题并如下解决
我需要在用户 settings.json 中有这一行
"editor.defaultFormatter": "ms-python.python"
否则,我想,格式会被我的默认格式选项覆盖
"editor.defaultFormatter": "esbenp.prettier-vscode",
所以我格式化相关内容的整体设置如下
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.python"
},
"[javascript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"python.formatting.provider": "black",
"python.formatting.blackPath": "/home/<user>/anaconda3/bin/black",
这一行"editor.defaultFormatter": "ms-python.python"
也可以从 VS-Code 命令面板 (Ctrl + shift + P) 如下激活。
使用 > 配置默认格式化程序设置文档格式 > 选择 Python
尽管我似乎已经正确配置了linitng和formatting,但是运行linting却没有运行black formatting。
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
"--max-line-length=110"
],
"python.linting.lintOnSave": true,
"python.formatting.provider": "black",
"python.formatting.blackPath": "/usr/local/bin/black",
"python.formatting.blackArgs": [
"--line-length",
"110"
],
"editor.formatOnSave": true,
我已经检查了黑色的配置是否正确,并且可以从命令行运行格式设置而不会出现问题。
但是当保存在IDE中时,黑色不会格式化文件。 它还没有抱怨,没有错误消息弹出,并且日志中什么也没有显示。 它只是根本不运行格式化。
我正在使用远程编辑来运行此容器-docker-container:不知道,这是否有所作为。
黑色版本是:
black>=19.3b0
vscode-version是1.36.1
。
谢谢您的帮助,就目前而言,我还是很头绪,为什么黑色格式无法运行...
但这是一个疯狂的猜测:我使用 sudo 从命令行手动启动了 dockerd:这给了我各种奇怪的问题(从容器内部创建的文件,例如迁移或缓存文件最终由 root 拥有。我最近将 dockerd 移动到服务中,现在突然黑色在保存时运行。万恶的根源可能是权利问题,这是因为 dockerd 作为 sudo 而不是作为服务运行的事实。
我添加了 blackPath: "python.formatting.provider": "black", "python.formatting.blackPath": "C:/conda/Scripts/black.exe",解决了这个问题。
我用迷你康达。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.