我一直在查看文档并尝试自定义和各种各样的东西,但无论我做什么,似乎Flymake总是将其临时文件放在原始文件所在的任何目录中。
这是一个大问题的主要原因是因为当我使用gdb单步执行我的程序时,有时我会进入STL文件或非用户目录中的其他文件。经常这会导致我的gdb进程因某种原因停止响应,这意味着我必须一直回到开头并全局禁用Flymake或者希望我不必在dir中执行另一个查找文件我的emacs进程没有写入权限。
是否有一种很好的方法可以让flymake始终在其中生成临时文件。 ~/.emacs.d/tmp
?
答案 0 :(得分:5)
最近版本的Emacs只保存“inplace”。这是一个快速破解“intemp”:http://blog.arithm.com/2011/01/27/save-_flymake-files-in-a-temporary-directory/
答案 1 :(得分:2)
这对我来说很好用:
(setq temporary-file-directory "~/.emacs.d/tmp/")
答案 2 :(得分:0)
不确定,但对于C#,flymake重新定义了flymake-get-make-cmdline函数。
它返回一个字符串,即为flymake运行的命令行。我想您可以修改该函数以返回您想要的任何内容,包括以某种智能方式指定临时文件位置的命令行,用于您正在运行的任何编译器。