I'd like to add a useful visualization of a Python openpyxl ReadOnlyCell object during debugging in Visual Studio 2015 (Python tools). I read into natvis files, but they seem to be only for C++ projects. For example, the screenshot below shows what a ReadOnlyCell looks like in the Autos window. I'd like to display the value property (e.g. 6000 for cell 0 below) in the column, without having to navigate into each cell individually.
There seems to be a way to add Python object visualization by editing the PythonDkm.natvis file. I have found the file, but I don't understand how to add a custom class to the it. Any help would be appreciated!

You should define __repr__ on your ReadOnlyCell class. That is what is displayed first, and then you can expand to see the rest of the values.
For example:
class ReadOnlyCell:
...
def __repr__(self):
return f"{type(self).__name__}(value={self.value})"
Would be displayed as:
Name Value Type
[0] ReadOnlyCell(value=6000) ReadOnlyCell
Aside: the PythonDkm.natvis file is for mixed Python/C debugging. It contains the natvis definitions for viewing raw Python objects, and has no impact on regular Python debugging.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With