用於檢查我用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