23

我使用 Tox 运行单元测试,使用 flake8 命令检查代码格式错误。每次我在 PyCharm 中编码时,我都会运行 tox 然后意识到我有一堆烦人的格式错误,我必须支持并手动修复。我希望 PyCharm 自动格式化代码(根据 flake8 google 的说法,每次我停止输入后它都会自动保存。

我的 tox testenv 看起来像这样:

[testenv:flake8]
commands=flake8 <my_code_directory>
deps =     
  flake8==2.4.1    
  flake8-import-order==0.11    
  pep8-naming==0.4.1 

[flake8] 
max-line-length = 120 
import-order-style = google

这可能吗?我必须在某处下载特定的插件吗?如果没有 flake8,那么只有 PEP-8 呢?

4

3 回答 3

15

Flake8 和导入排序不能以符合您所看到的方式自动修复。您可以使用 autopep8 自动修复 pep8。

不过,这里有关于为 Flake8 实现此功能的讨论。

于 2017-01-28T17:14:59.797 回答
11

对于自动排序 import 语句,请使用isort。考虑使用黑色来自动格式化 Python 代码。

于 2018-11-27T15:08:13.933 回答
5

您想要的工具可能是autopep8。这尤其是因为它使用的警告代码对应于 flake8 的。

例如,如果要在单行警告上自动修复 E701 多个语句的所有实例,请运行以下命令

for f in `find . -name "*.py"`; do autopep8 --in-place --select=E701 $f; done
于 2020-10-26T19:36:27.540 回答