如何在 vscode 中为 python 设置最大行长度?

Jan*_*ter 11 python visual-studio-code

对于 JavaScript 格式化程序工作正常,但不适用于 Python。我已经安装了 autopep8 但似乎无法设置最大行长度。我试过这个:

"python.formatting.autopep8Args": [
    "--max-line-length",
    "79",
    "--experimental"
  ]
Run Code Online (Sandbox Code Playgroud)

我的 settings.json 看起来像这样:

{
  "workbench.colorTheme": "One Dark Pro",
  "git.autofetch": true,
  "workbench.iconTheme": "material-icon-theme",
  "git.enableSmartCommit": true,
  "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
  },
  "javascript.updateImportsOnFileMove.enabled": "always",
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "liveServer.settings.donotShowInfoMsg": true,
  "editor.formatOnSave": true,
  "window.zoomLevel": 1,
  "vscode-w3cvalidation.validator-token": "Fri, 07 Aug 2020 07:35:05 GMT",
  "python.formatting.provider": "autopep8",
  "python.formatting.autopep8Args": [
    "--max-line-length",
    "79",
    "--experimental"
  ],
  "python.autoComplete.addBrackets": true,
  "python.autoComplete.extraPaths": []
}
Run Code Online (Sandbox Code Playgroud)

有什么想法如何解决这个问题吗?

Mol*_*SFT 7

autopep8-usage中, max-line-length 默认值为 79,因此您可以更改为其他值并尝试。

关于autopep8在vscode中的效果,我用和你相同的设置进行了测试,如下截图所示:

在此输入图像描述

每个print句子行长超过79,第一个和第二个print()参数是表达式,并且该设置适用于第一个,不适用于第二个。这是因为设置适用的规则是由 python 扩展提供的,并且它有自己的计算机制。

当涉及到打印字符串时,该设置不起作用,因此如果您在问题中指的是这一点,则可以在用户settings.json中添加以下代码。

"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 79
Run Code Online (Sandbox Code Playgroud)