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

How can I set max line length in vscode for python?

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

"python.formatting.autopep8Args": [
    "--max-line-length",
    "79",
    "--experimental"
  ]

我的 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": []
}

有什么解决办法吗?

autopep8-usage开始,max-line-length的默认值为79,您可以换成其他值试试。

关于vscode中autopep8的效果,我做了一个和你一样设置的测试,如下截图所示:

每个print句line-length超过79,第一个和第二个print()参数是表达式,设置对第一个有效,对第二个无效。这是因为设置适用规则是由 python 扩展提供的,它有自己的计算机制。

当涉及到打印字符串时,设置不起作用,所以如果你的问题是这个意思,你可以在用户settings.json.

中添加以下代码
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 79