为了在python模式下检查代码,我将flymake与pyflakes一起使用

我也想用pylint检查代码样式(pep8)(与pyflakes在同一页面上的描述)

此解决方案有效。
但是我无法将flymake配置为与pyflakes和pylint一起使用。
我该怎么做?

最佳答案

好吧,flymake只是在寻找可执行命令,该命令以预定义格式输出行。例如,您可以制作一个shell脚本,该脚本将依次调用所需的所有检查程序。

您还必须确保通过返回错误级别0来结束脚本。这是一个示例:

这是我在“pycheckers”脚本中所做的事情:

#!/bin/bash

epylint "$1" 2>/dev/null
pyflakes "$1"
pep8 --ignore=E221,E701,E202 --repeat "$1"
true

对于emacs lisp部分:
(when (load "flymake" t)
  (defun flymake-pyflakes-init ()
    (let* ((temp-file (flymake-init-create-temp-buffer-copy
                       'flymake-create-temp-inplace))
           (local-file (file-relative-name
                        temp-file
                        (file-name-directory buffer-file-name))))
      (list "pycheckers"  (list local-file))))
  (add-to-list 'flymake-allowed-file-name-masks
               '("\\.py\\'" flymake-pyflakes-init)))

10-07 14:00