在VS Code中强制PEP-8插入和格式化Linux

问题描述

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

我通常使用VS Code,最近才有机会尝试PyCharm。它的整理和格式化功能令编程感到非常愉快,这让我感到惊讶。但是,尽管在PyCharm中,我收到了各种有用的警告,并且代码总是正确地格式化,但在VS Code中,这仅部分发生。

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

PEP 8: E302 expected 2 blank lines,found 1

格式化文件后,PyCharm自动添加两个空白行。 VS Code中相同的pep 8违规行为将被忽略,没有警告,并且在格式化后也无济于事。

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

{
    "python.formatting.provider": "autopep8","python.linting.pylintEnabled": true,"python.linting.Flake8Enabled": true,}

我怎样才能在VS Code中复制PyCharm出色的棉绒和格式?

更新

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

解决方法

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

,

其他建议, 尝试在VSCode中使用Prettier扩展名的pylint进行格式化,同时保存python代码更改。对我来说很有效。