【问题标题】:How do I enable auto code formatting for flake8 in PyCharm如何在 PyCharm 中为 flake8 启用自动代码格式化
【发布时间】:2017-06-13 10:22:24
【问题描述】:

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

【问题讨论】:

    标签: python plugins pycharm pep8 flake8


    【解决方案1】:

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

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

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

    【讨论】:

    • 发现:非法选项--n
    • @OmarS。有趣的。您的发现可能与我的发现不同:P。我在那里使用它来打印当前目录和子目录中的所有.py 文件。如果您知道如何在您的机器上执行此操作,请告诉我。也许,试试-- 而不是-
    • @OmarS。试试find . -name "*.py"
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      有讨论 here 为 Flake8 实现此功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-26
        • 1970-01-01
        • 1970-01-01
        • 2019-06-26
        • 2014-02-08
        • 2013-03-17
        • 2016-08-20
        • 1970-01-01
        相关资源
        最近更新 更多