用于检查我用flymake与pyflakes如何使用Emacs Flymake模式用python和pyflakes和pylint检查代码?
蟒蛇模式代码同时我想检查代码风格(PEP8)与pylint的(在同一页上的描述与pyflakes)
此解决方案的工作。 但我不能配置flymake与pyflakes和pylint一起工作。 我该怎么办?
用于检查我用flymake与pyflakes如何使用Emacs Flymake模式用python和pyflakes和pylint检查代码?
蟒蛇模式代码同时我想检查代码风格(PEP8)与pylint的(在同一页上的描述与pyflakes)
此解决方案的工作。 但我不能配置flymake与pyflakes和pylint一起工作。 我该怎么办?
那么,flymake只是寻找一个可执行的命令输出预定义格式的行。
这就是:你可以因此,这是一个例子返回错误级别0做一个shell脚本,例如,将先后调用所有你想要的跳棋......
您还必须确保您的脚本结束我已经在 “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)))
你可能想看看这里的Lisp脚本(http://charlie137-2.blogspot.com/2009/08/check-python-coding-style-on-fly-with.html),这应该有助于检查PEP8 la pep8.py.我不使用pyflakes或pylint,但我想你可以很容易地调整这与其他跳棋一起工作。
我尝试使用pep8.py.的Windows批处理版同样的问题 - 我无法正确合并两个配置。只工作一个 - pyflakes或pep8.py. – dixon 2009-08-12 07:02:19
通常可以使flymake在Python模式挂机模式。不幸的是,这会导致像py-execute-buffer这样的问题,这些问题会创建临时缓冲区来调用挂钩,然后由于缺少“真实文件”而导致flymake模式打嗝。解决的办法是修改在其中添加挂钩的条件: - 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)
))
你可能想添加'(local-set-key [f4]'flymake-display-err-menu-for-current-line)'' – 2013-04-16 13:01:43
vaab的pychechker
@echo on
pylint %1
pep8 --ignore=E221,E701,E202 --repeat %1
pyflakes %1
它的工作!谢谢! – dixon 2009-09-09 10:49:43
虽然我可以看到错误,emacs 23并没有显示错误实际是什么。你能帮我吗? – RichieHH 2009-10-22 01:41:11
参见emacs下的flymake手册。你需要的是在线,并且:M-x flymake-display-err-menu-for-current-line。你可以将它绑定到一个键。 – vaab 2009-10-24 17:59:08