【问题标题】:Disable auto wrap long line in Visual Studio Code在 Visual Studio Code 中禁用自动换行
【发布时间】:2018-05-04 12:59:47
【问题描述】:

我使用 Visual Studio Code 用 Pylint 编写 Python 代码。

当我按下 Ctrl + S(保存)时,编辑器会将长行换成多行短行。如何禁用该操作或将换行列数配置为 120(默认为 80)?

我尝试过 "python.linting.pylintArgs": ["--max-line-length=120"]"editor.wordWrapColumn": 120,但没有成功。

【问题讨论】:

  • 您是否开启了自动格式化? VS Code 本身不会重新格式化任何东西,所以editor.wordWrapColumn 不会影响它——与editor.wordWrap 一起——只会影响如何显示长行,而不是重写它们。
  • 如果你使用autopep8,请执行以下操作:打开“设置”->搜索“python格式化autopep8 args”->点击“添加项目”->输入--max-line-length=120(将120改为你首选长度)。

标签: python visual-studio-code pylint


【解决方案1】:

使用自定义参数时,命令行中以空格分隔的参数字符串的每个顶级元素都必须是参数列表中的单独项目。例如:

"python.formatting.autopep8Args": [ 
  "--max-line-length", "120", "--experimental" 
],
"python.formatting.yapfArgs": [
  "--style", "{based_on_style: chromium, indent_width: 20}"
],
"python.formatting.blackArgs": [
  "--line-length", "100"
]

对于这些 Python 设置的正确格式,您可以检查 Formatter-specific settings

也可以在这里查看答案:

Allow statements before imports with Visual Studio Code and autopep8

【讨论】:

    【解决方案2】:

    如果您使用yapf 作为格式化程序,那么选项是column_limit。比如来自settings.json

    "python.formatting.provider": "yapf",
    "python.formatting.yapfArgs": [
        "--style={based_on_style: google, indent_width: 4, column_limit: 150}"
    ],
    

    【讨论】:

      【解决方案3】:

      检查您的 Python 格式提供程序。

      "python.formatting.provider": "autopep8"
      

      我猜在你的情况下,不是 Pylint 一直在换行,而是 autopep8。尝试将--max-line-length 设置为autopep8

      "python.formatting.autopep8Args": [
          "--max-line-length=200"
      ]
      

      【讨论】:

      • 如果 linter 的行为类似于格式化程序,这也会有所帮助:"python.linting.pep8Args": ["--max-line-length=120"]
      • 有关其他可用参数的信息,请参阅pypi.org/project/autopep8
      • TLDR:PEP8 表示 Python 的理想换行限制为 80,因此这是 autopep8 的默认值。
      • 用纯点点击实现这一点:“代码->首选项->设置”。然后选择“扩展-> Python”。浏览到“Formatting: Autopep8 Args”及其“Add item”,在建议的框中,添加“--max-line-length=200”
      • "--ignore=E501" 完全忽略最大行长度。
      【解决方案4】:

      Autopep8 需要 --aggressive 以推荐非空白更改:

      "python.linting.pylintArgs": ["--max-line-length", "120", "--aggressive"]
      

      这将为您换行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-10
        • 2019-03-26
        • 2021-04-21
        • 2016-04-15
        相关资源
        最近更新 更多