如何更改 Visual Studio Code 中逗号后缩进新行的行为?

ali*_*kci 6 python indentation python-idle visual-studio-code vscode-settings

我是一个新的python程序员。由于其内置终端,我开始使用 VS Code。(在此之前,我使用 IDLE 作为编辑器。)

我的问题是,当我在IDLE 中编写下面的代码时,我需要做的就是按 Enter以缩进新行以与前一个变量对齐

someFunction(longVariable,
             longString,
             longWhatever)
Run Code Online (Sandbox Code Playgroud)

在 VS Code 中,当我按 Enter 时它会执行此操作:

someFunction(longVariable,
longString,
longWhatever)
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我自己对齐“longString ”时,当我在逗号后按 Enter 键时,它会精确到我想要的位置。像这样:

someFunction(longVariable,
             longString,
             longWhatever)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它表现得像 IDLE?我经常使用它。

ada*_*key 0

除了安装ms-python@TheDude 建议的扩展之外,我还必须安装格式化程序。选项包括autopep8YAPFBlack。以下是安装命令(您只需要其中一个,我选择 YAPF 因为我使用 autopep8 得到了奇怪的结果):

pip install yapf

pip install autopep8

pip install black
Run Code Online (Sandbox Code Playgroud)

现在,当我返回一行时,我无法让它自动格式化。有一个名为“用户设置”的参数editor.formatOnType,我认为它可以解决这个问题,但它似乎没有效果。但是,还有一个名为“用户设置”的参数,editor.formatOnSave它会在您每次保存文件时自动格式化您的文件。如果您在用户设置中更改此设置,"editor.formatOnSave": true那么每次保存文件时,它都会自动格式化。

您还可以使用自动格式化热键,它会产生相同的效果:

  • 视窗:Shift++AltF
  • 苹果机:Shift++OptionF
  • 乌班图:Ctrl++ShiftI