IEEVisualizerService

This interface implements key methods that supply functionality to the IDebugProperty3 and IPropertyProxyEESide interfaces.

IEEVisualizerService : IUnknown

Notes for Implementers

Visual Studio implements this interface to allow an expression evaluator (EE) to support type visualizers.

Notes for Callers

The EE calls IEEVisualizerServiceProvider::CreateVisualizerService to obtain this interface as part of its support for type visualizers.

Methods in Vtable order

Method

Description

IEEVisualizerService::GetCustomViewerCount

Retrieves the number of custom viewers about which this service knows.

IEEVisualizerService::GetCustomViewerList

Retrieves the list of custom viewers.

IEEVisualizerService::GetPropertyProxy

Returns a proxy object for a property.

IEEVisualizerService::GetValueDisplayStringCount

Retrieves the number of value strings to display for the specified property or field.

Remarks

The IDE uses the IDebugProperty3 interface to determine if there are any custom viewers or type visualizers for the property. By creating a visualizer service (with IEEVisualizerServiceProvider::CreateVisualizerService), the EE can supply the functionality to the IDebugProperty3 and IPropertyProxyEESide (which supports viewing and changing a property's value) interfaces and thereby support type visualizers.

If an EE has custom viewers that itself implements, the EE can append the CLSIDs of those custom viewers to the end of the list returned by IEEVisualizerService::GetCustomViewerList. This allows an EE to support both type visualizers and its own custom viewers. Just be sure that IDebugProperty3::GetCustomViewerCount reflects the addition of any custom viewers.

See Type Visualizer and Custom Viewer for a discussion of the difference between visualizers and viewers.

Requirements

Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See Also

Reference

IDebugProperty2

IDebugProperty3

IPropertyProxyEESide

IEEVisualizerServiceProvider::CreateVisualizerService

Concepts

Expression Evaluation Interfaces

Type Visualizer and Custom Viewer