我正在尝试将 Visual Studio Code 设置为使用autopep8
但忽略 E266(块注释的前导 '#' 太多)以允许注释中的 Markdown 子标题的格式。
--ignore 设置似乎适用于其他错误,如 E302,但不适用于 E266。
我的格式化配置如下,E266 仍然被强制执行,即使 E302 被忽略:
"python.formatting.provider": "autopep8",
"python.formatting.autopep8Args": [
"--ignore",
"E266,E302",
// E266 = multiple-# in comments
// E302 = expect 2 blank lines before def
],
使用上面的配置,autopep8 将忽略 E302(因此它不会在 def 之前插入行),但它会继续删除每个 E266 注释中的额外 #。
我可以将我的 Linter 设置为忽略 E266,这样它就不会在 UI 中加下划线,但不会在修改代码的 Formatter 中加下划线。这是运行良好的 Linter 配置
"python.pythonPath": "...path...",
"python.linting.pep8Enabled": true,
"python.linting.pep8Args": [
"--ignore=E266"
// E266 = multiple-# in comments
],
"python.linting.pylintPath": "...path...",
"python.linting.pylintArgs": [
"--load-plugins",
"pylint_django"
],
"python.linting.pylintEnabled": true,
是否存在类似于 E266 的重叠规则导致格式化程序在忽略 E266 的情况下仍进行更改?不会出现,因为忽略 E266 时 Linter 无法识别正在编辑的行。
Example.py用于示例使用
## These lines will lose one "#" when Formatted in VSCode
## Even though we set it to ignore E266