如何在VSCode中为Python设置最大行长度?

9

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,但是PEP 8 - Python代码风格指南中推荐的链接长度为79个字符 - 所以您可能无法更改它。 - martineau
2个回答

6

autopep8-usage来看,默认的max-line-length值为79,所以你可以将其改为其他值并尝试一下。

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

enter image description here

每个print语句的行长度都超过了79个字符,第一个和第二个print()参数是表达式,并且该设置对第一个参数有效,对第二个参数无效。这是因为设置适用规则由Python扩展提供,并且它有自己的计算机制。

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

"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 79

这正是我正在寻找的。非常感谢。 - Jan Ponichter
如果您想根据窗口大小自动换行,请使用 "editor.wordWrap":"bounded", - Mahesh Jamdade

-1
"python.formatting.autopep8Args": [
    "--line-length",
    "119"
]

对我来说可行


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接