From b5a402ded15d1d7bd1d371d0c5d4766d6b225a86 Mon Sep 17 00:00:00 2001 From: Matthias Heil Date: Mon, 19 Jan 2026 14:16:48 +0100 Subject: [PATCH] Replaced MailAddress by Vector3 --- .../MailAddressVisualizer.slnx | 5 ----- .../MailAddressVisualizerUserControl .cs | 14 ------------ .../MailAddressModel.cs | 12 ---------- .../MailAddressObjectSource .cs | 21 ------------------ .../MailAddressVisualizerTest/Program.cs | 6 ----- .../Directory.Build.props | 0 Vector3Visualizer/Vecor3Visualizer.slnx | 5 +++++ .../Vector3Visualizer}/ExtensionEntrypoint.cs | 6 ++--- .../Vector3DebuggerVisualizerProvider.cs | 19 ++++++++-------- .../Vector3Visualizer.csproj | 13 ++++++----- .../Vector3VisualizerUserControl.cs | 14 ++++++++++++ .../Vector3VisualizerUserControl.xaml | 8 +++---- .../Vector3VisualizerSource/Vector3Model.cs | 13 +++++++++++ .../Vector3ObjectSource.cs | 22 +++++++++++++++++++ .../Vector3VisualizerSource.csproj | 1 + .../Vector3VisualizerTest/Program.cs | 6 +++++ .../Vector3VisualizerTest}/Test.csproj | 0 .../Vector3VisualizerTest}/Test.slnx | 0 18 files changed, 85 insertions(+), 80 deletions(-) delete mode 100644 MailAddressVisualizer/MailAddressVisualizer.slnx delete mode 100644 MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl .cs delete mode 100644 MailAddressVisualizer/MailAddressVisualizerSource/MailAddressModel.cs delete mode 100644 MailAddressVisualizer/MailAddressVisualizerSource/MailAddressObjectSource .cs delete mode 100644 MailAddressVisualizer/MailAddressVisualizerTest/Program.cs rename {MailAddressVisualizer => Vector3Visualizer}/Directory.Build.props (100%) create mode 100644 Vector3Visualizer/Vecor3Visualizer.slnx rename {MailAddressVisualizer/MailAddressVisualizer => Vector3Visualizer/Vector3Visualizer}/ExtensionEntrypoint.cs (81%) rename MailAddressVisualizer/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs => Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs (59%) rename MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizer.csproj => Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj (54%) create mode 100644 Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.cs rename MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl.xaml => Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.xaml (59%) create mode 100644 Vector3Visualizer/Vector3VisualizerSource/Vector3Model.cs create mode 100644 Vector3Visualizer/Vector3VisualizerSource/Vector3ObjectSource.cs rename MailAddressVisualizer/MailAddressVisualizerSource/MailAddressVisualizerSource.csproj => Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj (79%) create mode 100644 Vector3Visualizer/Vector3VisualizerTest/Program.cs rename {MailAddressVisualizer/MailAddressVisualizerTest => Vector3Visualizer/Vector3VisualizerTest}/Test.csproj (100%) rename {MailAddressVisualizer/MailAddressVisualizerTest => Vector3Visualizer/Vector3VisualizerTest}/Test.slnx (100%) diff --git a/MailAddressVisualizer/MailAddressVisualizer.slnx b/MailAddressVisualizer/MailAddressVisualizer.slnx deleted file mode 100644 index 6de5858..0000000 --- a/MailAddressVisualizer/MailAddressVisualizer.slnx +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl .cs b/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl .cs deleted file mode 100644 index 44981b3..0000000 --- a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl .cs +++ /dev/null @@ -1,14 +0,0 @@ -using MailAddressVisualizerSource; -using Microsoft.VisualStudio.Extensibility.UI; - -namespace MailAddressVisualizer; - -internal class MailAddressVisualizerUserControl : RemoteUserControl -{ - public MailAddressVisualizerUserControl(MailAddressModel? dataContext) : base(dataContext) - { - MailAddressModel = (MailAddressModel?)DataContext; - } - - public MailAddressModel? MailAddressModel { get; } -} \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressModel.cs b/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressModel.cs deleted file mode 100644 index 9f61c40..0000000 --- a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressModel.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Runtime.Serialization; -namespace MailAddressVisualizerSource; - -[DataContract] -public class MailAddressModel -{ - [DataMember] - public string DisplayName { get; set; } = ""; - [DataMember] - public string Email { get; set; } = ""; -} - diff --git a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressObjectSource .cs b/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressObjectSource .cs deleted file mode 100644 index 83d4097..0000000 --- a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressObjectSource .cs +++ /dev/null @@ -1,21 +0,0 @@ -using Microsoft.VisualStudio.DebuggerVisualizers; -using System.IO; -using System.Net.Mail; - -namespace MailAddressVisualizerSource; - -public class MailAddressObjectSource : VisualizerObjectSource -{ - public override void GetData(object target, Stream outgoingData) - { - if (target is MailAddress mail) - { - var result = new MailAddressModel - { - DisplayName = mail.DisplayName, - Email = mail.Address, - }; - SerializeAsJson(outgoingData, result); - } - } -} \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizerTest/Program.cs b/MailAddressVisualizer/MailAddressVisualizerTest/Program.cs deleted file mode 100644 index 053aef0..0000000 --- a/MailAddressVisualizer/MailAddressVisualizerTest/Program.cs +++ /dev/null @@ -1,6 +0,0 @@ -// See https://aka.ms/new-console-template for more information -using System.Net.Mail; - -var mailAddress = new MailAddress("thomas@elmah.io", "Thomas Ardal"); -var mailAddress2 = new MailAddress("matt@xxx.com", "Matthias Heil"); -return; \ No newline at end of file diff --git a/MailAddressVisualizer/Directory.Build.props b/Vector3Visualizer/Directory.Build.props similarity index 100% rename from MailAddressVisualizer/Directory.Build.props rename to Vector3Visualizer/Directory.Build.props diff --git a/Vector3Visualizer/Vecor3Visualizer.slnx b/Vector3Visualizer/Vecor3Visualizer.slnx new file mode 100644 index 0000000..740585f --- /dev/null +++ b/Vector3Visualizer/Vecor3Visualizer.slnx @@ -0,0 +1,5 @@ + + + + + diff --git a/MailAddressVisualizer/MailAddressVisualizer/ExtensionEntrypoint.cs b/Vector3Visualizer/Vector3Visualizer/ExtensionEntrypoint.cs similarity index 81% rename from MailAddressVisualizer/MailAddressVisualizer/ExtensionEntrypoint.cs rename to Vector3Visualizer/Vector3Visualizer/ExtensionEntrypoint.cs index 1479a0f..6beb06c 100644 --- a/MailAddressVisualizer/MailAddressVisualizer/ExtensionEntrypoint.cs +++ b/Vector3Visualizer/Vector3Visualizer/ExtensionEntrypoint.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.VisualStudio.Extensibility; -namespace MailAddressVisualizer +namespace Vector3Visualizer { /// /// Extension entrypoint for the VisualStudio.Extensibility extension. @@ -13,10 +13,10 @@ namespace MailAddressVisualizer public override ExtensionConfiguration ExtensionConfiguration => new() { Metadata = new( - id: "MailAddressVisualizer.3c0400c3-acec-4b09-b561-c11fac7b10a7", + id: "Vector3Visualizer.3c0400c3-acec-4b09-b561-c11fac7b10a7", version: this.ExtensionAssemblyVersion, publisherName: "Nrx Visualizer", - displayName: "MailAddressVisualizer", + displayName: "Vector3Visualizer", description: "Visualizer for MailAdress"), }; diff --git a/MailAddressVisualizer/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs b/Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs similarity index 59% rename from MailAddressVisualizer/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs rename to Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs index 40808e8..a39a71e 100644 --- a/MailAddressVisualizer/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs +++ b/Vector3Visualizer/Vector3Visualizer/Vector3DebuggerVisualizerProvider.cs @@ -1,32 +1,33 @@ -using MailAddressVisualizerSource; +using Vector3VisualizerSource; using Microsoft.VisualStudio.Extensibility; using Microsoft.VisualStudio.Extensibility.DebuggerVisualizers; using Microsoft.VisualStudio.RpcContracts.RemoteUI; -using System.Net.Mail; using System.Threading; using System.Threading.Tasks; -namespace MailAddressVisualizer; +using System.Numerics; +namespace Vector3Visualizer; [VisualStudioContribution] -internal class MailAddressDebuggerVisualizerProvider : DebuggerVisualizerProvider +internal class Vector3DebuggerVisualizerProvider : DebuggerVisualizerProvider { [System.Diagnostics.CodeAnalysis.SuppressMessage("ConstantExpressionEvaluator", "CEE0027:String not localized", Justification = "")] public override DebuggerVisualizerProviderConfiguration DebuggerVisualizerProviderConfiguration => new( [ - new VisualizerTargetType("MailAddress Visualizer", typeof(MailAddress)) - ]) + new VisualizerTargetType("Vector3 Visualizer", typeof(Vector3)), + new VisualizerTargetType("QuaternionVisualizer", typeof(Quaternion)) + ]) { - VisualizerObjectSourceType = new VisualizerObjectSourceType(typeof(MailAddressObjectSource)), + VisualizerObjectSourceType = new VisualizerObjectSourceType(typeof(Vector3ObjectSource)), Style = VisualizerStyle.ToolWindow, }; public override async Task CreateVisualizerAsync( VisualizerTarget visualizerTarget, CancellationToken cancellationToken) { - MailAddressModel? model = await visualizerTarget.ObjectSource.RequestDataAsync(jsonSerializer: null, CancellationToken.None); + Vector3Model? model = await visualizerTarget.ObjectSource.RequestDataAsync(jsonSerializer: null, CancellationToken.None); return await Task.FromResult( - new MailAddressVisualizerUserControl(model)); + new Vector3VisualizerUserControl(model)); } } \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizer.csproj b/Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj similarity index 54% rename from MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizer.csproj rename to Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj index efc0628..5fa8deb 100644 --- a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizer.csproj +++ b/Vector3Visualizer/Vector3Visualizer/Vector3Visualizer.csproj @@ -5,20 +5,21 @@ 12 en-US + + + - - + - - - + + - + diff --git a/Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.cs b/Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.cs new file mode 100644 index 0000000..2535e6b --- /dev/null +++ b/Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.cs @@ -0,0 +1,14 @@ +using Vector3VisualizerSource; +using Microsoft.VisualStudio.Extensibility.UI; + +namespace Vector3Visualizer; + +internal class Vector3VisualizerUserControl : RemoteUserControl +{ + public Vector3VisualizerUserControl(Vector3Model? dataContext) : base(dataContext) + { + Vector3Model = (Vector3Model?)DataContext; + } + + public Vector3Model? Vector3Model { get; } +} \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl.xaml b/Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.xaml similarity index 59% rename from MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl.xaml rename to Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.xaml index 0eb7838..f1ca51c 100644 --- a/MailAddressVisualizer/MailAddressVisualizer/MailAddressVisualizerUserControl.xaml +++ b/Vector3Visualizer/Vector3Visualizer/Vector3VisualizerUserControl.xaml @@ -8,9 +8,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Vector3Visualizer/Vector3VisualizerSource/Vector3Model.cs b/Vector3Visualizer/Vector3VisualizerSource/Vector3Model.cs new file mode 100644 index 0000000..f4d327f --- /dev/null +++ b/Vector3Visualizer/Vector3VisualizerSource/Vector3Model.cs @@ -0,0 +1,13 @@ +using System.Numerics; +using System.Runtime.Serialization; +namespace Vector3VisualizerSource; + +[DataContract] +public class Vector3Model +{ + [DataMember] + public string Vector3 { get; set; } = string.Empty; + [DataMember] + public string Quaternion { get; set; } = string.Empty; +} + diff --git a/Vector3Visualizer/Vector3VisualizerSource/Vector3ObjectSource.cs b/Vector3Visualizer/Vector3VisualizerSource/Vector3ObjectSource.cs new file mode 100644 index 0000000..df330e2 --- /dev/null +++ b/Vector3Visualizer/Vector3VisualizerSource/Vector3ObjectSource.cs @@ -0,0 +1,22 @@ +using Microsoft.VisualStudio.DebuggerVisualizers; +using System.IO; +using System.Numerics; + +namespace Vector3VisualizerSource; + +public class Vector3ObjectSource : VisualizerObjectSource +{ + Vector3Model vector3Model = new(); + public override void GetData(object target, Stream outgoingData) + { + if (target is Vector3 vector3) + { + vector3Model.Vector3 = vector3.ToString(); + } + if (target is Quaternion quaternion) + { + vector3Model.Quaternion = quaternion.ToString(); + } + SerializeAsJson(outgoingData, vector3Model); + } +} \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressVisualizerSource.csproj b/Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj similarity index 79% rename from MailAddressVisualizer/MailAddressVisualizerSource/MailAddressVisualizerSource.csproj rename to Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj index 394a578..cdb7014 100644 --- a/MailAddressVisualizer/MailAddressVisualizerSource/MailAddressVisualizerSource.csproj +++ b/Vector3Visualizer/Vector3VisualizerSource/Vector3VisualizerSource.csproj @@ -8,6 +8,7 @@ + diff --git a/Vector3Visualizer/Vector3VisualizerTest/Program.cs b/Vector3Visualizer/Vector3VisualizerTest/Program.cs new file mode 100644 index 0000000..6f411e5 --- /dev/null +++ b/Vector3Visualizer/Vector3VisualizerTest/Program.cs @@ -0,0 +1,6 @@ + +using System.Numerics; + +var vector3 = new Vector3(1,2,3); +var quaternion = new Quaternion(1,2,3,4); +return; \ No newline at end of file diff --git a/MailAddressVisualizer/MailAddressVisualizerTest/Test.csproj b/Vector3Visualizer/Vector3VisualizerTest/Test.csproj similarity index 100% rename from MailAddressVisualizer/MailAddressVisualizerTest/Test.csproj rename to Vector3Visualizer/Vector3VisualizerTest/Test.csproj diff --git a/MailAddressVisualizer/MailAddressVisualizerTest/Test.slnx b/Vector3Visualizer/Vector3VisualizerTest/Test.slnx similarity index 100% rename from MailAddressVisualizer/MailAddressVisualizerTest/Test.slnx rename to Vector3Visualizer/Vector3VisualizerTest/Test.slnx