【发布时间】:2014-12-12 18:50:34
【问题描述】:
所以,据我了解,当我 M-x 编译我的 python 代码时,与 shell 或 ansi-term 相比,编译缓冲区并不是那么容易交互。因此,如果我在我的代码中插入一个 pdb.set_trace(),我就无法在编译缓冲区中进行调试。但是,我喜欢编译缓冲区的一点是,当我收到 Traceback 错误时,我可以通过在引用的问题文件甚至所述文件中的行上单击或按 Enter 键导航到所有问题文件。
我看到一篇博文,谈到在 shell 缓冲区中启用编译 shell 次要模式,但这并没有让我能够像在编译缓冲区中那样直接跳转到有问题的文件。有什么方法可以在 ansi-term 中启用该功能?我说,ansi-term,因为出于某种原因,编译缓冲区和外壳都不能很好地与 ipython 的输出配合使用。
编辑: 我在下面添加了代码,现在 shell 导航类似于编译缓冲区的 Traceback 源代码。我相信是 goto-address-mode 成功了。
(add-hook 'shell-mode-hook 'compilation-shell-minor-mode)
(add-hook 'shell-mode-hook (lambda () (highlight-regexp "\\[OK\\]" "hi-green-b")))
(add-hook 'shell-mode-hook (lambda () (goto-address-mode )))
(require 'ansi-color)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
【问题讨论】:
-
其实我是用elpy包来编程的,这个更具体是为了运行整个Python库和跟踪Tracebacks。我刚刚找到我的答案,将发布。