@@ -18,87 +18,172 @@
---
-A **powerful collection** of debug visualizers for Visual Studio, providing beautiful formatting, syntax highlighting, and specialized views for common string data types. Stop squinting at raw JSON in the debugger! π―β¨
+A **powerful collection** of debug visualizers for Visual Studio, providing beautiful formatting, syntax highlighting, and specialized views for common string data types. Stop squinting at raw JSON in the debugger!
---
-## π Features
+## Updated Interface
-- π¨ **30+ Visualizers** β JSON, XML, JWT, Base64, images, and many more
-- π³ **Multiple Views** β Raw, Formatted, Tree, Table, Hex, Rendered, and Image
-- ποΈ **Syntax Highlighting** β Beautiful code highlighting via AvalonEdit
-- π **Search** β Find text within large content (Ctrl+F)
-- π **Copy & Export** β Copy raw/formatted content or export to file
-- π₯οΈ **Multi-Architecture** β Supports both x64 and ARM64 systems
+
+
+
+ The new modern Debugalizers interface
+
+
+> **Note:** The screenshots below were captured before the UI overhaul. The updated interface shown above features a modernized design with improved theming, rounded corners, and a cleaner layout. All functionality remains the same.
---
-## π¦ Visualizer Catalog
+## Screenshots
+
+
+
+
+ Choose from 30+ specialized visualizers
+
+
+
+
+
+
+
+ JSON - Formatted View
+
+
+
+
+ XML - Pretty Printed
+
+
+
+
+
+
+ HTML - Formatted View
+
+
+
+
+ HTML - Rendered Preview
+
+
+
+
+
+
+ Markdown - Rendered Preview
+
+
+
+
+ JWT - Claims Table
+
+
+
+
+
+
+ Base64 - Image Preview
+
+
+
+
+ URI - Parsed Components
+
+
+
+
+
+
+ Connection String - Parsed Table
+
+
+
+
+ JSON - Raw View
+
+
+
+
+---
-### π Data Formats
+## Features
+
+- **30+ Visualizers** - JSON, XML, JWT, Base64, images, and many more
+- **Multiple Views** - Raw, Formatted, Tree, Table, Hex, Rendered, and Image
+- **Syntax Highlighting** - Beautiful code highlighting via AvalonEdit
+- **Search** - Find text within large content (Ctrl+F)
+- **Copy & Export** - Copy raw/formatted content or export to file
+- **Multi-Architecture** - Supports both x64 and ARM64 systems
+
+---
+
+## Visualizer Catalog
+
+### Data Formats
| Visualizer | Description | Views |
|------------|-------------|-------|
-| π **JSON** | API responses, config files | Formatted, Tree, Raw |
-| π° **XML** | SOAP, config, SVG | Formatted, Tree, Raw |
-| π **HTML** | Web content, email templates | Formatted, Rendered, Tree, Raw |
-| βοΈ **YAML** | Docker, K8s, CI/CD configs | Formatted, Tree, Raw |
-| π§ **TOML** | Rust configs, pyproject.toml | Formatted, Tree, Raw |
-| π **CSV/TSV** | Tabular data exports | Table, Raw |
-| π **INI** | Legacy config files | Formatted, Table, Raw |
-| π **Markdown** | Documentation strings | Rendered, Raw |
-| ποΈ **SQL** | Database queries | Formatted, Syntax Highlighted, Raw |
-| π **GraphQL** | API queries | Formatted, Syntax Highlighted, Raw |
-
-### π Encoded Data
+| **JSON** | API responses, config files | Formatted, Tree, Raw |
+| **XML** | SOAP, config, SVG | Formatted, Tree, Raw |
+| **HTML** | Web content, email templates | Formatted, Rendered, Tree, Raw |
+| **YAML** | Docker, K8s, CI/CD configs | Formatted, Tree, Raw |
+| **TOML** | Rust configs, pyproject.toml | Formatted, Tree, Raw |
+| **CSV/TSV** | Tabular data exports | Table, Raw |
+| **INI** | Legacy config files | Formatted, Table, Raw |
+| **Markdown** | Documentation strings | Rendered, Raw |
+| **SQL** | Database queries | Formatted, Syntax Highlighted, Raw |
+| **GraphQL** | API queries | Formatted, Syntax Highlighted, Raw |
+
+### Encoded Data
| Visualizer | Description | Views |
|------------|-------------|-------|
-| π€ **Base64** | Decode text from Base64 | Decoded, Hex, Raw |
-| πΌοΈ **Base64 Image** | Embedded images (data:image/...) | Image Preview, Raw |
-| π **URL Encoded** | Query strings, form data | Decoded, Raw |
-| π·οΈ **HTML Entities** | `&` β `&`, `<` β `<` | Decoded, Raw |
-| π‘ **Unicode Escape** | `\u0041` β `A` | Decoded, Raw |
-| π’ **Hex String** | `48656C6C6F` β `Hello` | Decoded, Hex, Raw |
-| π¦ **GZip/Deflate** | Compressed payloads | Decompressed, Raw |
+| **Base64** | Decode text from Base64 | Decoded, Hex, Raw |
+| **Base64 Image** | Embedded images (data:image/...) | Image Preview, Raw |
+| **URL Encoded** | Query strings, form data | Decoded, Raw |
+| **HTML Entities** | `&` to `&`, `<` to `<` | Decoded, Raw |
+| **Unicode Escape** | `\u0041` to `A` | Decoded, Raw |
+| **Hex String** | `48656C6C6F` to `Hello` | Decoded, Hex, Raw |
+| **GZip/Deflate** | Compressed payloads | Decompressed, Raw |
-### π‘οΈ Security & Auth Tokens
+### Security & Auth Tokens
| Visualizer | Description | Views |
|------------|-------------|-------|
-| π« **JWT** | Decode header, payload, expiry | Claims Table, Decoded, Raw |
-| π **SAML** | Decode assertions | XML Tree, Claims, Raw |
-| π **X.509 Certificate** | PEM/DER certificates | Details Table, Raw |
+| **JWT** | Decode header, payload, expiry | Claims Table, Decoded, Raw |
+| **SAML** | Decode assertions | XML Tree, Claims, Raw |
+| **X.509 Certificate** | PEM/DER certificates | Details Table, Raw |
-### π Structured Strings
+### Structured Strings
| Visualizer | Description | Views |
|------------|-------------|-------|
-| π **Connection String** | DB/service connections | Parsed Table, Raw |
-| π **URI/URL** | Full URL parsing | Parsed Parts, Query Params Table |
-| β **Query String** | `?foo=bar&baz=qux` | Key-Value Table, Raw |
-| π― **Regex** | Pattern visualization | Pattern Breakdown, Raw |
-| β° **Cron Expression** | Schedule expressions | Human Readable, Next Runs |
+| **Connection String** | DB/service connections | Parsed Table, Raw |
+| **URI/URL** | Full URL parsing | Parsed Parts, Query Params Table |
+| **Query String** | `?foo=bar&baz=qux` | Key-Value Table, Raw |
+| **Regex** | Pattern visualization | Pattern Breakdown, Raw |
+| **Cron Expression** | Schedule expressions | Human Readable, Next Runs |
-### πΎ Binary & Low-Level
+### Binary & Low-Level
| Visualizer | Description | Views |
|------------|-------------|-------|
-| π’ **Hex Dump** | Binary data as hex | Hex + ASCII |
-| π **GUID/UUID** | Format and version info | Formatted, Details |
-| π **Timestamp** | Unix epoch conversion | Human Readable, UTC/Local |
-| π **IP Address** | IPv4/IPv6 details | Formatted, CIDR Info |
+| **Hex Dump** | Binary data as hex | Hex + ASCII |
+| **GUID/UUID** | Format and version info | Formatted, Details |
+| **Timestamp** | Unix epoch conversion | Human Readable, UTC/Local |
+| **IP Address** | IPv4/IPv6 details | Formatted, CIDR Info |
---
-## π₯ Installation
+## Installation
### From Visual Studio Marketplace
[](https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-Debugalizers)
1. Open Visual Studio 2022
-2. Go to **Extensions** β **Manage Extensions**
+2. Go to **Extensions** > **Manage Extensions**
3. Search for "**Debugalizers**"
4. Click **Download** and restart Visual Studio
@@ -119,84 +204,90 @@ dotnet test src/CodingWithCalvin.Debugalizers.slnx
---
-## π Usage
+## Usage
+
+1. Set a breakpoint where a string variable is in scope
+2. When the debugger hits the breakpoint, hover over the variable
+3. Click the **magnifying glass** icon in the DataTip
+4. Select the appropriate visualizer (e.g., "**Debugalizers: JSON**")
+5. The visualizer window opens with beautifully formatted content!
-1. π΄ Set a breakpoint where a string variable is in scope
-2. βΈοΈ When the debugger hits the breakpoint, hover over the variable
-3. π Click the **magnifying glass** icon in the DataTip
-4. π Select the appropriate visualizer (e.g., "**Debugalizers: JSON**")
-5. β¨ The visualizer window opens with beautifully formatted content!
+
-### β If you find Debugalizers useful, please consider giving it a star! β
+### If you find Debugalizers useful, please consider giving it a star!
-*Made with β€οΈ for the Visual Studio community from Coding With Calvin*
+*Made with care for the Visual Studio community from Coding With Calvin*
diff --git a/resources/base64-image.png b/resources/base64-image.png
new file mode 100644
index 0000000..b5c104f
Binary files /dev/null and b/resources/base64-image.png differ
diff --git a/resources/connectionstring-table.png b/resources/connectionstring-table.png
new file mode 100644
index 0000000..848e532
Binary files /dev/null and b/resources/connectionstring-table.png differ
diff --git a/resources/debugalizers-list.png b/resources/debugalizers-list.png
new file mode 100644
index 0000000..7132b70
Binary files /dev/null and b/resources/debugalizers-list.png differ
diff --git a/resources/html-formatted.png b/resources/html-formatted.png
new file mode 100644
index 0000000..b7c1a63
Binary files /dev/null and b/resources/html-formatted.png differ
diff --git a/resources/html-rendered.png b/resources/html-rendered.png
new file mode 100644
index 0000000..6e3f848
Binary files /dev/null and b/resources/html-rendered.png differ
diff --git a/resources/json-formatted.png b/resources/json-formatted.png
new file mode 100644
index 0000000..2f98431
Binary files /dev/null and b/resources/json-formatted.png differ
diff --git a/resources/json-raw.png b/resources/json-raw.png
new file mode 100644
index 0000000..c14ebe6
Binary files /dev/null and b/resources/json-raw.png differ
diff --git a/resources/jwt-claims.png b/resources/jwt-claims.png
new file mode 100644
index 0000000..b866b86
Binary files /dev/null and b/resources/jwt-claims.png differ
diff --git a/resources/markdown-rendered.png b/resources/markdown-rendered.png
new file mode 100644
index 0000000..8ffb6fc
Binary files /dev/null and b/resources/markdown-rendered.png differ
diff --git a/resources/updated-interface.png b/resources/updated-interface.png
new file mode 100644
index 0000000..44a7170
Binary files /dev/null and b/resources/updated-interface.png differ
diff --git a/resources/uri-mailto-table.png b/resources/uri-mailto-table.png
new file mode 100644
index 0000000..fe3915d
Binary files /dev/null and b/resources/uri-mailto-table.png differ
diff --git a/resources/uri-table.png b/resources/uri-table.png
new file mode 100644
index 0000000..984f656
Binary files /dev/null and b/resources/uri-table.png differ
diff --git a/resources/xml-pretty.png b/resources/xml-pretty.png
new file mode 100644
index 0000000..20fe619
Binary files /dev/null and b/resources/xml-pretty.png differ
diff --git a/samples/DebugalizersSampleApp/DebugalizersSampleApp.csproj b/samples/DebugalizersSampleApp/DebugalizersSampleApp.csproj
new file mode 100644
index 0000000..58e5302
--- /dev/null
+++ b/samples/DebugalizersSampleApp/DebugalizersSampleApp.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net10.0
+ disable
+ enable
+
+
+
diff --git a/samples/DebugalizersSampleApp/Program.cs b/samples/DebugalizersSampleApp/Program.cs
new file mode 100644
index 0000000..9853a3e
--- /dev/null
+++ b/samples/DebugalizersSampleApp/Program.cs
@@ -0,0 +1,605 @@
+// Sample application for testing Debugalizers extension
+// Set breakpoints on lines with "// BREAKPOINT" comments and inspect the variables
+
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.IO.Compression;
+using System.Text;
+
+namespace DebugalizersSampleApp;
+
+public class Program
+{
+ public static void Main()
+ {
+ Console.WriteLine("Debugalizers Sample Application");
+ Console.WriteLine("================================");
+ Console.WriteLine();
+ Console.WriteLine("Set breakpoints on lines marked with '// BREAKPOINT' comments,");
+ Console.WriteLine("then use the magnifying glass icon in the debugger to visualize each variable.");
+ Console.WriteLine();
+
+ // Run all sample categories
+ DataFormatSamples();
+ EncodedDataSamples();
+ SecuritySamples();
+ StructuredStringSamples();
+ BinaryAndLowLevelSamples();
+
+ Console.WriteLine();
+ Console.WriteLine("All samples completed!");
+ }
+
+ #region Data Format Samples (11 visualizers)
+
+ private static void DataFormatSamples()
+ {
+ Console.WriteLine("=== Data Format Samples ===");
+
+ // JSON - Pretty-prints and shows tree view
+ var json = """
+ {
+ "name": "John Doe",
+ "age": 30,
+ "email": "john.doe@example.com",
+ "address": {
+ "street": "123 Main St",
+ "city": "Springfield",
+ "state": "IL",
+ "zip": "62701"
+ },
+ "phoneNumbers": [
+ { "type": "home", "number": "555-1234" },
+ { "type": "work", "number": "555-5678" }
+ ],
+ "isActive": true,
+ "balance": 1234.56
+ }
+ """;
+ Debugger.Break(); // BREAKPOINT - Inspect 'json' variable
+
+ // JSON Array
+ var jsonArray = """
+ [
+ { "id": 1, "name": "Apple", "color": "red" },
+ { "id": 2, "name": "Banana", "color": "yellow" },
+ { "id": 3, "name": "Orange", "color": "orange" }
+ ]
+ """;
+ Debugger.Break(); // BREAKPOINT - Inspect 'jsonArray' variable
+
+ // XML - Pretty-prints and shows tree view
+ var xml = """
+
+
+
+ The Great Gatsby
+ F. Scott Fitzgerald
+ 1925
+ 10.99
+
+
+ A Brief History of Time
+ Stephen Hawking
+ 1988
+ 15.99
+
+
+ """;
+ Debugger.Break(); // BREAKPOINT - Inspect 'xml' variable
+
+ // HTML - Renders preview and shows formatted source
+ var html = """
+
+
+
+
+ Sample Page
+
+
+
+