如何添加 Python 对象的自定义 Visual Studio 调试视图?
How to add custom Visual Studio debug view of Python object?
我想在 Visual Studio 2015(Python 工具)调试期间添加 Python openpyxl
ReadOnlyCell
对象的有用可视化。我阅读了 natvis
files,但它们似乎只适用于 C++ 项目。例如,下面的屏幕截图显示了 ReadOnlyCell 在 Autos window 中的样子。我想在列中显示 value
属性(例如下面的单元格 0 为 6000),而不必单独导航到每个单元格。
似乎有一种方法可以通过编辑 PythonDkm.natvis
file 添加 Python 对象可视化。我找到了该文件,但我不明白如何向其中添加自定义 class。如有任何帮助,我们将不胜感激!
您应该在 ReadOnlyCell
class 上定义 __repr__
。这是首先显示的内容,然后您可以展开以查看其余值。
例如:
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 调试没有影响。
我想在 Visual Studio 2015(Python 工具)调试期间添加 Python openpyxl
ReadOnlyCell
对象的有用可视化。我阅读了 natvis
files,但它们似乎只适用于 C++ 项目。例如,下面的屏幕截图显示了 ReadOnlyCell 在 Autos window 中的样子。我想在列中显示 value
属性(例如下面的单元格 0 为 6000),而不必单独导航到每个单元格。
似乎有一种方法可以通过编辑 PythonDkm.natvis
file 添加 Python 对象可视化。我找到了该文件,但我不明白如何向其中添加自定义 class。如有任何帮助,我们将不胜感激!
您应该在 ReadOnlyCell
class 上定义 __repr__
。这是首先显示的内容,然后您可以展开以查看其余值。
例如:
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 调试没有影响。