gpt4 book ai didi

python - 在 emacs 中使用 flymake 和 tramp 远程运行 pyflakes?

转载 作者:IT老高 更新时间:2023-10-28 21:13:31 25 4
gpt4 key购买 nike

我正在尝试使用 flymake 来运行 pyflakes,正如建议的 here

这适用于本地文件,几乎适用于远程文件,但需要稍作调整,但我遇到了一个问题,即 flymake/pyflakes 在运行时“修改”缓冲区(尽管实际上似乎没有任何改变) ,这使得它在实践中有点无用(例如,保存文件运行 flymake 会立即再次修改缓冲区)。

这是我为使其几乎正常工作所做的:

  1. 在远程盒子上安装了 pyflakes。
  2. 自定义了我的 tramp-remote-process-environment 变量,以便可以在其 PATH 中找到 pyflakes
  3. 使用了上面 wiki 链接中代码的变体。显然,我排除了为远程缓冲区禁用它的检查。此外,(when (load "flymake"t) ...) 构造似乎没有像我预期的那样工作,但我并不太担心。
  4. 重新定义(出于测试目的——建议应该可以正常工作)flymake-start-syntax-check-process 函数,以便它使用 start -file-process(适用于 tramp)而不是 start-process(不适用)。

#4 中的更改似乎不会在处理本地文件时导致任何问题,但是尽管这现在使 flymake 能够为远程文件运行远程 pyflakes(错误按预期突出显示),但在这种情况下,缓冲区是每当 flymake 运行时“修改”。

我猜 start-file-process 对于远程进程会产生一些本地进程不会出现的额外返回值/数据。

有没有人有任何见解/建议?

  • Ubuntu 上的 Emacs 23.1 和 23.2
  • Python 2.4.6
  • Pyflakes 0.4.0(通过 easy_install)

最佳答案

你需要告诉flymake到create它是缓冲区的副本 somewhere在本地,我更喜欢使用 $TMP 目录,因为这个 允许我对我没有写入权限的目录中的文件使用 tramp。

您可能想查看我的 flymake-python 的 fork因为它完成了这一切。

关于python - 在 emacs 中使用 flymake 和 tramp 远程运行 pyflakes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com