python - 在 VS Code (Linux) 中强制执行 PEP-8 linting 和格式化
问题描述
我在 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有关,也许?
解决方案
额外的建议,在 VSCode 中尝试使用 Prettier 扩展的 pylint,将做体面的格式化工作,同时保存 python 代码更改。这对我很有效。
推荐阅读
- ffmpeg - 使用 FFMPEG 对数据流进行下采样/过滤
- bash - 脚本执行但未能递增
- c++ - 当捕获范围是类的数据成员时,我们是否需要将 lambda 标记为可变的
- swift - RxSwift 5.1 中的可变主题替代方案是什么?
- vim - 安装插件vim时vim编译器错误字体
- python - 使用烧瓶中的 send_file() 时文件损坏,pymongo gridfs 中的数据
- excel - Json.Document() 中的参考单元格值 - EXCEL 数据源
- xml - 如何读取 Soap XML 数据
- psftp - psftp 从我通过其他服务器连接的服务器下载文件
- javascript - 正则表达式 - 替换部分网址