IEEVisualizerService
Applies to: Visual Studio Visual 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 CLSID
s 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