我一直在研究Emacs作为Python IDE。有一个很好的,最新的解决方案:Gabriele Lanar的emacs-for-python。不幸的是,我不能使用pdbtrack。也就是说,放入pdb我没有显示Python源缓冲区,当前行有一个光标等等。让它变得有点工作的唯一方法就是这个丑陋的黑客攻击:http://page.sourceforge.net/tricks.html#Running_pdb_under_emacs 而且,Gud可能从未像Python一样使用解释性语言:(超链接不允许) 有一个讨论,https://github.com/fgallina/python.el/issues/43,但它无处可去。 我还发现了python-pdbtrack-activate变量,但无论如何都默认设置为t。有一句希望:“BTW应该可以在全局添加pdbtrack过滤器功能,但是没有经过测试,我认为我不会默认激活这样的东西”。为什么,我不介意这样的东西默认是不活动的,我只想知道如何打开它... IMO,能够尽可能好地通过pdb.set_trace()进入调试器是必不可少的。我希望现在可以。
答案 0 :(得分:2)
这不是您的确切问题的答案,但它也解决了您的问题。 我在emacs的术语模式中使用pdb++:pdb ++的“粘性模式”给了我相当于pdbtrack的优点,它的优点是它不必为它访问的每个文件打开一个缓冲区(因为它只显示源代码)术语缓冲区中的代码。)
作为额外的奖励,我还可以在pdb ++提示符下获得彩色标签: - )
如果你使用py.test,你可能还需要检查我的pytest-emacs,它会自动在术语缓冲区中启动py.test,以便pdb开箱即用。