有关在python模式校验码我使用flymake与 pyflakes

此外想检查码样式(PEP8)与pylint的(与pyflakes在同一页上的描述)

此解决方案的工作。 但我不能配置与pyflakes工作flymake和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)))

其他提示

通常,一个可以使在Python模式挂机flymake模式。不幸的是,导致事情像它创造出调用钩,然后使flymake模式,因为缺乏“真实文件”的打嗝临时缓冲区PY-执行缓冲的问题。该解决方案是修改在其中添加所述钩的条件: - e.g矿是:

(add-hook 'python-mode-hook 
      (lambda () 
        (unless (eq buffer-file-name nil) (flymake-mode 1)) ;dont invoke flymake on temporary buffers for the interpreter
        (local-set-key [f2] 'flymake-goto-prev-error)
        (local-set-key [f3] 'flymake-goto-next-error)
        ))

您可能想看看这里的Lisp的脚本(的 http://charlie137-2.blogspot.com/2009/08/check-python-coding-style-on-fly-with.html ),它应与检查帮助PEP8一拉pep8.py.我不使用pyflakes或pylint的,但我想你可以很容易地调整它与其它跳棋工作。

vaab的pychechker的Windows批处理版本

@echo on
pylint %1
pep8 --ignore=E221,E701,E202 --repeat %1
pyflakes %1
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top