diff --git a/Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs b/Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs new file mode 100644 index 0000000..d5f008d --- /dev/null +++ b/Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs @@ -0,0 +1,34 @@ +using Microsoft.VisualStudio.Extensibility; +using Microsoft.VisualStudio.Extensibility.DebuggerVisualizers; +using Microsoft.VisualStudio.RpcContracts.RemoteUI; +using System.Collections.Generic; +using System.Linq; +using System.Numerics; +using System.Threading; +using System.Threading.Tasks; +using Vector3VisualizerSource; +namespace Vector3Visualizer; + +[VisualStudioContribution] +internal class Vector3DebuggerVisualizerProvider : DebuggerVisualizerProvider +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("ConstantExpressionEvaluator", "CEE0027:String not localized", Justification = "")] + public override DebuggerVisualizerProviderConfiguration DebuggerVisualizerProviderConfiguration => new( + [ + new VisualizerTargetType("Vector3 Visualizer", "System.Numerics.Vector3, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"), + new VisualizerTargetType("Vector3[] Visualizer", typeof(Vector3[])), + new VisualizerTargetType("List Visualizer", typeof(List<>)), + new VisualizerTargetType("Quaternion Visualizer", typeof(Quaternion)) + ]) + { + VisualizerObjectSourceType = new VisualizerObjectSourceType(typeof(Vector3ObjectSource)), + Style = VisualizerStyle.ToolWindow, + }; + + public override async Task CreateVisualizerAsync(VisualizerTarget visualizerTarget, CancellationToken cancellationToken) + { + Vector3Model? model = await visualizerTarget.ObjectSource.RequestDataAsync(jsonSerializer: null, CancellationToken.None); + return await Task.FromResult(new Vector3VisualizerUserControl(model)); + //return await Task.FromResult(new MyRemoteUserControl(model)); + } +} diff --git a/Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj b/Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj new file mode 100644 index 0000000..47f5a35 --- /dev/null +++ b/Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj @@ -0,0 +1,25 @@ + + + net8.0-windows8.0 + enable + latest + en-US + + + + + + + + + + + + + + + + + + + diff --git a/Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj b/Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj new file mode 100644 index 0000000..d6acc0f --- /dev/null +++ b/Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj @@ -0,0 +1,14 @@ + + + + netstandard2.0 + enable + latest + + + + + + + +