在 VS Code (Linux) 中强制执行 PEP-8 linting 和格式化

5 python formatting lint linux-mint autopep8

我在 Linux Mint 20 环境下,对于 Python 编程,我一直使用pyenv,这是在 Linux 下安装 Python 的推荐方法

我通常使用 VS Code,最近有机会尝试 PyCharm。我对它的 linting 和格式化功能感到惊讶,它让编程变得非常愉快。然而,虽然在 PyCharm 中我收到了各种有用的警告,并且代码始终格式正确,但在 VS Code 中,这种情况仅部分发生。

举个例子,在 PyCharm 中导入后,如果我只留下一个空行,我会收到此警告:

PEP 8: E302 expected 2 blank lines, found 1
Run Code Online (Sandbox Code Playgroud)

格式化文件后,PyCharm 会自动添加两个空行。VS Code 中相同的 pep 8 违规行为会被忽略,不会发出警告,并且格式化后不会执行任何操作。

我安装了虚拟环境中可用的所有 linter 和格式化程序提供程序以进行测试,但没有结果。这是我尝试过的众多配置之一:

{
    "python.formatting.provider": "autopep8",
    "python.linting.pylintEnabled": true,
    "python.linting.flake8Enabled": true,
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 VS Code 中复制 PyCharm 的出色的 linting 和格式化功能?

更新

令我惊讶的是,我使用pipelinenv而不是pyenv在 Windows 10 环境下复制了此配置,并成功在 VS Code 中复制了 PyCharm 的 linting 和格式化功能。我必须假设问题与操作系统或 pyenv 有关,也许?

Ujj*_*wal 4

嘿,尝试在您的环境中安装 autopep8。然后在 VScode 中激活与解释器相同的环境。使用 ctrl+a 选择您的代码,然后右键单击鼠标,您将获得格式化选项。另请确保您已从 VScode 的扩展市场安装了 python 和 intelisense 扩展。