首页 > 解决方案 > VSCode Python:将代码移动到新行保留先前缩进的所有空格

问题描述

如果我采用这段代码:

def contextMenuEvent(self, event):
    print("Context menu event!")

然后我将“print”行与“def”行对齐,然后按回车键将“print”行返回到下面我得到这个:

def contextMenuEvent(self, event):
            print("Context menu event!")

请注意它如何保留先前缩进的空白,然后为新缩进添加更多空白?在其他编辑器中,旧的空白缩进被删除,行被正确缩进。所以我想弄清楚如何让 VSCode 也能做到这一点。这是错误还是设置?

编辑:

为了澄清我在做什么......如果你把光标放在 : 的右边并点击删除它应该把底线带到光标线。然后,如果您立即在 VSCode 中按 Enter 键,您将得到我上面描述的内容。在其他编辑器中,它将通过删除额外的缩进来正确格式化新行。

我经常使用它来清理一些代码,尤其是我粘贴到自己代码中的示例代码。

标签: pythonvisual-studio-codeformatting

解决方案


这是 VSCode 的默认设置,目前我们无法通过自定义设置进行更改,但根据您的描述,建议您可以尝试通过以下方式设置 VSCode 以自动标准化代码格式。

  1. 您可以将以下设置添加到settings.json文件.vscode夹中的文件中。设置好后,当我们保存文件时,它会自动规范代码的缩进。

"editor.formatOnSave": true,

前:

在此处输入图像描述

Ctrl+S

之后:</p>

在此处输入图像描述

  1. 此外,您还可以通过设置 VSCode 的 Formatting 来自动标准化代码格式。参考:格式化

推荐阅读