因此,我使用了emacspythonwiki(找到了here)上建议的这个包装器,它是关于pep8、pyflakes和pylint的,它在命令行上运行(在根据“Running python scripts with subprocess in windows. Python code checker wrappers from the emacswiki yield the same error”在windows上设置它的麻烦之后)。在
然而,在emacs中,flymake会给出错的行加下划线,但是当我悬停鼠标时,应该包含错误消息的框是空的。我的init文件包含:
(setq pycodechecker "etcwrapper.bat")
(when (load "flymake" t)
(load-library "flymake-cursor")
(defun dss/flymake-pycodecheck-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 pycodechecker (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" dss/flymake-pycodecheck-init)))
在ETCWrapper.bat公司是一个简单的批处理脚本,它在python包装器脚本上运行python。为了方便起见,我把它放在系统路径中的一个目录中。 我也可以让flymake只在一个字符的下划线,而不是整个行? 有什么建议吗?在
我不是python专家,也从来没有在windows上使用过,所以这个答案可能没有用。。。但是我知道在}解析错误的格式错误。在
flymake-cursor
的某些版本中存在黑客攻击,以应对pyflakes
没有正确报告编译错误,或者{您可以在我的fork of
flymake-cursor
中看到对它的尝试修复:https://github.com/illusori/emacs-flymake-cursor/blob/master/flymake-cursor.el#L126
我从恐龙奇萨的版本中得到了修复,所以我不知道完整的背景,但听起来这就是你遇到的问题。在
最新版本的
flymake-cursor
如我的或Dino的可能会帮助您在emacs消息区域看到一个错误指示器,但是鼠标覆盖是在flymake
中处理的,据我所知,它还没有解决这个问题的方法。在如果您提供由etcwrapper.bat公司当手动运行时,我可能会提供进一步的帮助。在
只给一个字符加下划线也很棘手,据我所知,您需要从
flymake.el
重新定义flymake-make-overlay
,并创建两个覆盖而不是一个。您可能会发现将flymake-errline
和flymake-warnline
的面自定义为比下划线更不具侵入性的内容更容易。在抱歉,这两个答案都不是解决问题的办法。:)
相关问题 更多 >
编程相关推荐