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

How to change the behavior of indenting the new line after comma in Visual Studio Code?

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

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

someFunction(longVariable,
             longString,
             longWhatever)

在 VS Code 中,当我按下回车键时它会执行此操作:

someFunction(longVariable,
longString,
longWhatever)

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

someFunction(longVariable,
             longString,
             longWhatever)

如何让它表现得像 IDLE? 我经常用它。

安装 ms-python 扩展。

这提供了 linting、智能感知和代码格式化。我不确定它是否与 IDLE 完全一样,但我已经将其用于 Python 开发几个月,它对我来说是正确的。

  1. 单击此按钮

  2. 在搜索框中输入Python然后按enter

  3. 微软发布的扩展是我推荐的

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

pip install yapf

pip install autopep8

pip install black

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

您也可以使用自动格式化热键,效果相同:

  • Windows: Shift + Alt + F
  • Mac: Shift + 选项 + F
  • Ubuntu: Ctrl + Shift + I