VSCode中Python代码含闭合括号时换行额外缩进空格的设置位置咨询
兄弟我太懂你这种烦躁了!升级VSCode后碰到这种莫名其妙的缩进bug,真的能把人逼疯——明明应该是4空格缩进,结果多出来一个,还偏偏只在有闭合括号的时候出现,简直离谱。结合我自己踩过的坑,给你几个排查和解决的方向:
先查Python扩展的核心缩进设置
打开VSCode设置(快捷键Ctrl+,),搜索python.indentation.continuationIndent,这个设置专门管代码续行时的缩进量。你这种情况大概率是这个值被改成了5,直接调回4就行。另外顺便确认下python.formatting.provider,不同的格式化工具(autopep8/yapf/black)对带闭合括号的多行结构处理逻辑不一样,如果用的是yapf,可以看看有没有额外的自定义参数干扰了缩进。检查VSCode全局缩进配置
搜索editor.indentSize,确保全局或者Python语言专属的缩进大小是4;再看看editor.continuationIndentation,这个全局续行缩进设置也可能和Python扩展的设置冲突,统一调成4就好。另外可以暂时关掉editor.formatOnType试试,有时候实时格式化和自动缩进的逻辑打架,就会多出不必要的空格。排查括号自动补全的影响
搜索editor.autoClosingBrackets,如果设置的是always,可以暂时改成languageDefined试试——自动补全括号后,VSCode的缩进逻辑偶尔会出现异常,尤其是升级版本后,这个设置的兼容性可能出问题。终极方案:重置Python扩展设置
如果上面的方法都没用,大概率是升级VSCode时Python扩展的配置被搞乱了。在设置页面找到Python扩展,点击「重置扩展设置」,重启VSCode后再测试,基本能解决大部分莫名其妙的缩进问题。
备注:内容来源于stack exchange,提问作者Kevin Crouse

