The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at IEEVisualizerService.

System_CAPS_ICON_important.jpg 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.

IEEVisualizerService : IUnknown  

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

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

GetCustomViewerCountRetrieves the number of custom viewers about which this service knows.
GetCustomViewerListRetrieves the list of custom viewers.
GetPropertyProxyReturns a proxy object for a property.
GetValueDisplayStringCountRetrieves the number of value strings to display for the specified property or field.

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.

Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Expression Evaluation Interfaces
Type Visualizer and Custom Viewer