如何添加Python对象的自定义Visual Studio调试视图?

时间:2017-07-31 06:04:59

标签: python visual-studio debugging visual-studio-debugging natvis

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

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

enter image description here

1 个答案:

答案 0 :(得分: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调试没有影响。