可以按照以下步骤来解决这个问题:

  1. 安装格式化插件:在 VSCode 的扩展商店中,你可以找到并安装 Python 的格式化插件,例如 autopep8⁵、Black formatter⁶、Ruff⁷ 或 yapf⁸。如果你没有找到你喜欢的格式化插件,你还可以通过扩展来添加对它的支持¹。

  2. 设置默认的格式化插件:安装完格式化插件后,你需要将其设置为 Python 文件的默认格式化插件。你可以右键点击编辑器,然后选择 Format Document With... -> Configure Default Formatter...,然后在列表中选择你刚刚安装的格式化插件¹。或者,你也可以在你的 settings.json 文件中设置 "editor.defaultFormatter" 为你的格式化插件¹。

  3. 检查 Python 解释器:有可能你在一个不同的 Python 解释器或环境中安装了 autopep8,而这个环境并不是你在 VSCode 中选择的环境²。你可以尝试移除你的 settings.json 文件中的格式化设置,然后再次尝试格式化,VSCode 会提示你选择并安装一个格式化插件(autopep8yapf 或 black)²。

  4. 检查 VSCode 设置:你可能需要检查你的 VSCode 设置,看看是否有一些互斥的设置。例如,你可能同时启用了 "eslint.autoFixOnSave" 和 "editor.formatOnSave",这可能会导致自动格式化功能无法正常工作²。

VS Code 提供默认的快捷键来格式化代码。你可以使用以下快捷键:

  • Windows/Linux: Shift + Alt + F
  • macOS: Shift + Option + F

(1) undefined. https://marketplace.visualstudio.com/items?itemName=ms-python.autopep8.
(2) undefined. https://marketplace.visualstudio.com/items?itemName=ms-python.black-formatter.
(3) undefined. https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff.
(4) undefined. https://marketplace.visualstudio.com/items?itemName=eeyore.yapf.
(5) Formatting Python in Visual Studio Code. https://code.visualstudio.com/docs/python/formatting.
(6) I can't format Python file on Visual Studio Code: "There is no document .... https://stackoverflow.com/questions/54953381/i-cant-format-python-file-on-visual-studio-code-there-is-no-document-formatte.
(7) How to stop autopep8 not installed messages in Code. https://stackoverflow.com/questions/61923188/how-to-stop-autopep8-not-installed-messages-in-code.
(8) python代码格式化工具只懂autopep8?这里有更好的 - 知乎. https://zhuanlan.zhihu.com/p/203307235.
(9) undefined. https://marketplace.visualstudio.com/items?itemName=ms-python.isort.