IEEVisualizerService

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

Important

In Visual Studio 2015, this way of implementing expression evaluators is deprecated. For information about implementing CLR expression evaluators, please see CLR Expression Evaluators and Managed Expression Evaluator Sample.

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

Syntax

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 CreateVisualizerService to obtain this interface as part of its support for type visualizers.

Methods in Vtable order

Method Description
GetCustomViewerCount Retrieves the number of custom viewers about which this service knows.
GetCustomViewerList Retrieves the list of custom viewers.
GetPropertyProxy Returns a proxy object for a property.
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 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 GetCustomViewerList. This allows an EE to support both type visualizers and its own custom viewers. Just be sure that 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