This content originally appeared on DEV Community and was authored by Daniel Jonathan
Debugging XSLT has always been a challenge β especially when youβre trying to understand why a transformation doesnβt behave as expected. Thatβs why I built XSLT Debugger, a Visual Studio Code extension that brings real debugging support for XSLT stylesheets.
  
  
   What It Does
 What It Does
This extension lets you:
- Set breakpoints in .xsltfiles
- Step through transformations
- Inspect variables and node values
- Evaluate XPath expressions interactively
- Even run inline C# scripting with msxsl:scriptis supported but step through are skipped.
It supports both XSLT 1.0 and 2.0/3.0 stylesheets β using a .NET-based debug adapter under the hood.
  
  
   Getting Started
 Getting Started
- Install XSLT Debugger from the VS Code Marketplace
- Update the vscode launch setting
- Open your .xsltand.xmlfiles
- Press F5 β Start Debugging
Thatβs it β you can now set breakpoints, run step-by-step, and finally see whatβs happening in your transformations.
  
  
   Why It Matters
 Why It Matters
This project brings XSLT debugging into the modern developer workflow β something thatβs been missing for years.
Whether youβre maintaining legacy integrations or working with XML transformations in Azure Logic Apps, this extension finally makes it debuggable.
  
  
   Current Limitations
 Current Limitations
The debugger is designed to stay simple and stable, without attempting to fully parse complex XSLT constructs.
To keep it lightweight and predictable:
- Breakpoint and step debugging are currently limited to basic XSLT structures (templates, loops, and expressions). Deep or dynamic template calls are intentionally not instrumented to avoid complex XSLT parsing.
- 
Variable inspection covers @select-based variables; content-defined variables are skipped for now.
- 
Trace logging introduces minor runtime overhead (up to ~15% in traceallmode).
These tradeoffs ensure reliable, cross-platform debugging without slowing down transformations or overcomplicating the runtime.
Note: This is a complementary developer tool intended for debugging and learning β not a production-grade runtime.
 VS Code Marketplace Windows x64
 VS Code Marketplace Windows x64
 VS Code Marketplace MacOS arm
 VS Code Marketplace MacOS arm
Built with  to make XSLT development less mysterious and more productive.
 to make XSLT development less mysterious and more productive.
This content originally appeared on DEV Community and was authored by Daniel Jonathan


