3

我想openpyxl ReadOnlyCell在 Visual Studio 2015(Python 工具)中调试期间添加一个有用的 Python 对象可视化。我读入natvis文件,但它们似乎只适用于 C++ 项目。例如,下面的屏幕截图显示了 ReadOnlyCell 在 Autos 窗口中的外观。我想在value列中显示属性(例如下面的单元格 0 为 6000),而不必单独导航到每个单元格。

似乎有一种方法可以通过编辑PythonDkm.natvis文件来添加 Python 对象可视化。我找到了该文件,但我不明白如何向其中添加自定义类。任何帮助,将不胜感激!

在此处输入图像描述

4

1 回答 1

2

你应该__repr__在你的ReadOnlyCell班级上定义。这是首先显示的内容,然后您可以展开以查看其余值。

例如:

class ReadOnlyCell:
    ...
    def __repr__(self):
        return f"{type(self).__name__}(value={self.value})"

将显示为:

Name     Value                           Type
[0]      ReadOnlyCell(value=6000)        ReadOnlyCell

另外:该PythonDkm.natvis文件用于混合 Python/C 调试。它包含用于查看原始 Python 对象的 natvis 定义,并且对常规 Python 调试没有影响。

于 2017-08-01T15:41:10.733 回答