我试图让autoep8工作,使Python代码正确地缩进2个空格,而不是4个空格。我使用的是带有Python扩展的VS代码,它使用autoep8进行格式化。我发现hereautoep8可以配置为使用2个空格
"python.formatting.autopep8Args": ["--indent-size=2"]
但这对我不起作用。在
我的情况是这样的。当我按enter键时,它正确地以与上一行相同的缩进开始下一行。在左括号后按enter键,它将正确地以两个空格开始新行。但当我粘贴或保存时编辑器.格式粘贴“和”编辑器.formatOnSave“设置为true),恼人的事情发生了:括号内的所有2空格缩进变成了4(其他2空格缩进不受影响)。它为什么要这样做,我怎么能让它到处都是2个空间?在
===编辑====
我发现pylint错误Wrong hanging indentation (remove 2 spaces). [bad-continuation]
。因为我的电话线有indent-after-paren=2
。我想知道autoep8或其他Python格式化程序是否可以设置此属性?在
我还必须在数组中包含这个设置.json,和你的差不多。在
" ignore E121"
根据https://pypi.org/project/autopep8/,此设置确保缩进是4的倍数。如果不强制执行,则使用VSCode中配置的制表符大小。在
E121 - Fix indentation to be a multiple of four.
也就是说,根据pep8,你的缩进仍然是“可接受的”,所以它实际上不会改变为你期望的4个空格。我不得不把我的水平提高一级,然后当它再次运行时,它并没有改变它。在
不幸的是,这实际上只是一个解决办法,它实际上会对其他缩进规则产生负面影响。。。在
在pep8的代码中可以看到,他们将默认的制表符大小硬编码为“python way”(4个空格):
https://github.com/hhatto/autopep8/blob/120537a051d7f3cbbb5c4ede19b9e515156bd3d1/autopep8.py#L104
这看起来像是挂起的缩进不考虑缩进大小选项。。。在
相关问题 更多 >
编程相关推荐