我正在尝试将Visual Studio代码设置为使用autopep8
进行格式化,但忽略了E266(对于块注释,前导'#'太多)以允许注释中的Markdown子标题。
-忽略设置似乎可以解决其他错误,例如E302,但不适用于E266。
我的格式设置如下,即使忽略了E302,E266仍然得到强制执行:
"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
答案 0 :(得分:0)
您正在寻找E265 - Format block comments.
在我的Vscode中使用以下配置:
"python.formatting.autopep8Args": [
"--ignore=E302,E265"
],
您的示例对我来说没有变化。
autopep8 --list-fixes
似乎与README中列出的内容不匹配。