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

标签 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
格式化文件后,PyCharm 会自动添加两个空行。 VS Code 中相同的 pep 8 违规被忽略,没有警告,并且在格式化之后它什么也不做。
我在我的虚拟环境中安装了所有可用的 linter 和格式化程序提供程序,用于测试目的,但没有结果。这是我尝试过的众多配置之一:
{
    "python.formatting.provider": "autopep8",
    "python.linting.pylintEnabled": true,
    "python.linting.flake8Enabled": true,
}
我怎样才能在 VS Code 中从 PyCharm 复制出色的 linting 和格式化?
更新 :
令我惊讶的是,我使用 在 Windows 10 环境下复制了这个配置。 pipenv 而不是 pyenv 我在 VS Code 中成功复制了 PyCharm 的 linting 和格式化功能。我必须假设问题与操作系统或 pyenv 有关,也许?

最佳答案

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

关于python - 在 VS Code (Linux) 中强制执行 PEP-8 linting 和格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64084190/

相关文章:

python - SQLALchemy session.merge 不起作用

php - 使用 PHP 格式化 HTTP POST 请求中的数据

从整个列中的字符串中替换小数点

java - 禁用 LINT 检查有哪些副作用?

node.js - npm:如何一次安装所有依赖项

python - 有多少种方法可以改变变量的值?

python - call_command makemigrations 不适用于 Elastic Beanstalk

用于表单布局的 HTML 列或行?

c++ - 可疑的指针到指针转换(区域太小)

python - 表单发送错误,Flask