Apache Daffodil™ Extension for Visual Studio Code
Apache Daffodil PMC member · 2025–2026
Apache Daffodil parses and unparses data described by DFDL schemas, an open standard for describing binary, text and legacy data formats. The extension is where those schemas get written: DFDL syntax highlighting and IntelliSense, a debugger that steps through a parse while showing the infoset and the position in the data, tooling for TDML test cases, and a data editor for large binary files built on Ωedit. The extension is TypeScript and Svelte; the debugger backend is Scala.
Since early 2025 I have landed 40+ commits across the whole extension:
- Data editor. Settings precedence between settings.json and launch.json, replace operations no longer forced on invalid input, seeking past end-of-file, duplicate panel disposal, the data profiler's output and layout, and several Ωedit upgrades.
- TDML workflow. Running test cases from the launch wizard — prompting for a case name and description, picking a case from a TDML file — plus fixes for relative paths when copying or appending cases, config handling, and execution on Ubuntu.
- IntelliSense. Attribute completion no longer suggests attributes an element already has, dfdl:defineEscapeScheme inserts correctly, and the completion, hover and close-element providers are documented for the next contributor.
- Debugger and test tooling. Fixed yarn test hanging on the Daffodil debugger, moved the Svelte test runner from ts-node to tsx so the suite passes on Node 22, and upgraded the extension to Daffodil 3.10.0.
- Project upkeep. The 1.5.0 version bump, PR and issue templates with confirmation and regression-testing sections, contributor docs consolidated into Development.md, and the README's move to the current ASF branding.