【问题标题】:Python Code checkers wrapper in emacs does not properly feed the results to flymake on win32emacs 中的 Python 代码检查器包装器无法正确地将结果提供给 win32 上的 flymake
【发布时间】:2012-02-21 16:57:44
【问题描述】:

所以我使用 emacs python wiki(找到 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 会在有错误的行下划线,但是当我将鼠标悬停时,应该包含错误消息的框是空的。我的初始化文件包含:

 (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)))

etcwraper.bat 是一个简单的批处理脚本,它在 python 包装脚本上运行 python。为方便起见,我将其放在系统路径中的目录中。 我也可以让flymake只下划一个字符而不是整行吗? 有什么建议吗?

【问题讨论】:

    标签: python emacs flymake python-mode


    【解决方案1】:

    我不是 python 专家,也从未在 Windows 上使用过它,所以这个答案可能没有用......但我知道在 flymake-cursor 的某些版本中有一个黑客来应对 @987654323 的事实@ 要么没有正确报告编译错误,要么是 flymake 解析错误的格式。

    您可以在我的 flymake-cursor 分支中看到尝试修复它:

    https://github.com/illusori/emacs-flymake-cursor/blob/master/flymake-cursor.el#L126

    我从 Dino Chiesa 版本中得到了这个修复,所以我不知道完整的背景故事,但听起来这就是你遇到的问题。

    flymake-cursor 的更新版本(例如我的或 Dino 的)可能会帮助您在 emacs 消息区域中看到错误指示符,但鼠标覆盖在 flymake 中处理,据我所知,它没有解决此问题我知道。

    如果您提供您的 etcwrapper.bat 在手动运行时生成的输出,我可能会提供进一步的帮助。

    只给一个字符加下划线也很棘手,据我了解,您需要从flymake.el 重新定义flymake-make-overlay 并创建两个覆盖而不是一个。您可能会发现将flymake-errlineflymake-warnline 的面部自定义为比下划线更容易干扰的内容。

    很抱歉,这些答案都不是解决办法。 :)

    【讨论】:

    • 是的,情况并非如此,我尝试了您的建议,但仍然是相同的行为。
    猜你喜欢
    • 2010-11-18
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多