如何在PyCharm中为flake8启用自动代码格式化

时间:2017-01-27 16:49:32

标签: python plugins pycharm pep8 flake8

我使用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呢?

3 个答案:

答案 0 :(得分:6)

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

虽然有关于为Flake8实现此功能的讨论here

答案 1 :(得分:3)

要自动对导入语句进行排序,请使用isort。考虑使用black自动格式化Python代码。

答案 2 :(得分:1)

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

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

for f in `find -name "*.py"`; do autopep8 --in-place --select=E701 $f; done