1

だから私はコマンドラインで動作するpep8、pyflakes、およびpylintの周りでemacs python wiki(ここにあります)で提案されたこのラッパーを使用しています(「 Running python scripts with subprocess in windows. emacswiki の Python コード チェッカー ラッパーは、同じエラー".

ただし、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)))

etcwraper.bat は、python ラッパー スクリプトで python を実行する単純なバッチ スクリプトです。便宜上、システムパスのディレクトリに配置しました。また、行全体ではなく 1 文字だけに flymake の下線を引くことはできますか? 助言がありますか?

4

1 に答える 1

0

私はPythonの専門家ではなく、Windowsで使用したことがないため、この回答は役に立たないかもしれません...しかし、一部のバージョンには、エラーを正しく報告しないflymake-cursorという事実に対処するためのハックがあることを知っていますコンパイルエラー、または解析するpyflakesのに間違った形式であること。flymake

ここの私のフォークでそれに対する修正の試みを見ることができflymake-cursorます:

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

私は Dino Chiesa バージョンからその修正を取得したので、完全なバックストーリーはわかりませんが、それがあなたが抱えている問題のようです.

私のものや Dino のものなどのより最近のバージョンでflymake-cursorは、emacs メッセージ領域にエラー インジケーターが表示されるのに役立つ場合がありますが、マウス オーバーレイはflymake、私が知る限り、この問題の修正がされていない で処理されます。

手動で実行したときに etcwrapper.bat によって生成された出力を提供していただければ、さらにお役に立てるかもしれません。

私の理解では、1 つではなく 2 つのオーバーレイを再定義flymake-make-overlayして作成する必要があります。下線よりも邪魔にならないもののためにflymake.el、顔をカスタマイズする方が簡単だと思うかもしれません.flymake-errlineflymake-warnline

申し訳ありませんが、これらの回答はどちらも修正されていません。:)

于 2012-03-18T02:23:08.147 に答える