繁体   English   中英

Visual Studio Code> Python > 保存时不运行黑色格式

[英]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

谢谢任何帮助,因为现在我很无能为力,为什么黑色格式化不运行......

黑色的行参数是错误的,应该是

--line-length=120

根据https://stackoverflow.com/a/58048911/4435175

迟到的答案,以防它对任何人有帮助。 我遇到了同样的问题并如下解决

我需要在用户 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM