尽管我似乎已经正确配置了linitng和formatting,但是lint运行了,但是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版本为1.36.1
。
谢谢您的帮助,就目前而言,我还是很头绪,为什么黑色格式无法运行...
答案 0 :(得分:4)
迟到的答案,以防它对任何人有帮助。我遇到了同样的问题并解决了如下
我需要在用户 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
答案 1 :(得分:3)
答案 2 :(得分:1)
根据此PR,具有为formatOnSave
操作设置超时的功能。默认情况下,这是750毫秒,对于我的项目来说,这太短了。通过在settings.json
中使用它,我将其增加到3秒:
{
"editor.formatOnSaveTimeout": 3000
}
答案 3 :(得分:0)
但是这是一个疯狂的猜测:我使用sudo从命令行手动启动了dockerd:这给了我各种奇怪的问题(从容器内部创建的文件,例如,迁移或缓存文件最终归root拥有)我最近将dockerd移到了服务中,现在突然黑了就在运行中。所有邪恶的根源可能是权利发行,这是因为dockerd是作为sudo而不是作为服务运行的。 >