我能让Python调试器pdb输出彩色吗?
我经常在使用PDB(Python调试器),感觉如果能加上颜色的语法高亮,那就更好了。
我希望代码的路径部分能用更浅的颜色显示,而实际的代码行则能有语法高亮。
我在使用OS X和终端应用程序,Python版本是2.7。
5 个回答
9
11
看看这个 pdb++ - 它是一个可以直接替代pdb的工具,能满足你所有的需求,还增加了一些很不错的功能,比如自动补全和新的命令,比如watch和sticky。
下面是一个示例配置文件,可以让你使用颜色(在创建文件后添加这个内容: touch ~/.pdbrc.py
):
import pdb
class Config(pdb.DefaultConfig):
use_pygments = True
pygments_formatter_class = "pygments.formatters.TerminalTrueColorFormatter"
pygments_formatter_kwargs = {"style": "monokai"}
25
pdb
这个工具本身不支持颜色显示。不过,即使你是个喜欢用命令行的人(就像我一样;-)),想要实现颜色显示其实也不难——你不需要为了调试 Python 而切换到图形界面或集成开发环境(IDE)。特别是,当你通过 SSH 远程访问机器时,命令行工具通常会表现得更好,这样可以节省很多带宽和延迟的问题,这些问题在使用图形界面和 IDE 时会比较明显;-)。
具体来说,针对你提到的任务,可以考虑使用 ipdb(你还需要 ipython,它提供了比普通的交互式 Python 更强大的命令行界面,而 ipdb
是依赖于它的)。这两个工具都提供了很好的自动补全、增强的错误追踪信息,以及颜色显示——ipython
用于你平常的交互工作,ipdb
在调试时也有相同的功能(其他方面和 pdb
基本相同)。