// Copyright (c) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. namespace MemoryStreamVisualizer; using MemoryStreamObjectSource; using Microsoft.VisualStudio.Extensibility; using Microsoft.VisualStudio.Extensibility.DebuggerVisualizers; using Microsoft.VisualStudio.RpcContracts.RemoteUI; using System.IO; using System.Threading; using System.Threading.Tasks; /// /// Debugger visualizer provider for . /// [VisualStudioContribution] internal class MemoryStreamDebuggerVisualizerProvider : DebuggerVisualizerProvider { /// public override DebuggerVisualizerProviderConfiguration DebuggerVisualizerProviderConfiguration => new( [ new VisualizerTargetType("%MemoryStreamVisualizer.MemoryStreamDebuggerVisualizerProvider.Name%", typeof(MemoryStream)), ]) { VisualizerObjectSourceType = new VisualizerObjectSourceType(typeof(MemoryStreamVisualizerObjectSource)), Style = VisualizerStyle.ToolWindow, }; /// public override Task CreateVisualizerAsync(VisualizerTarget visualizerTarget, CancellationToken cancellationToken) { return Task.FromResult(new MemoryStreamVisualizerUserControl(visualizerTarget)); } }