Skip to content
Davin Shearer edited this page Dec 7, 2022 · 31 revisions

Apache Daffodil™ Extension for Visual Studio Code: Brief

The Apache Daffodil™ Extension for Visual Studio Code is an extension to the Microsoft® Visual Studio Code (VS Code) editor, designed for Data Format Description Language (DFDL) Schema developers. The purpose of the Apache Daffodil™ Extension for Visual Studio Code is to ease the burden on DFDL Schema developers by enabling rapid development of high-quality DFDL Schemas, with syntax highlighting, code completion, and debugging of DFDL Schema parsing operations using Apache Daffodil™.

DFDL Schema Development

Screen Shot 2022-12-07 at 11 13 14 AM

The Apache Daffodil™ Extension for Visual Studio Code provides syntax highlighting to improve the readability and context of the text and provide instant feedback to the developer indicating the structure and code are syntactically correct.

The Apache Daffodil™ Extension for Visual Studio Code provides code completion offering context-aware code segment predictions that can dramatically speed up DFDL Schema development by reducing keyboard input, memorization by the developer, and typos.

Daffodil Data Parse Debugger

Screenshot 2022-12-07 at 11 52 24

The Apache Daffodil™ Extension for Visual Studio provides a Daffodil parse debugger enabling the developer to control the execution of Apache Daffodil™ parse operations. Given a DFDL Schema and a target data file, the developer can step through the execution of parse operations line by line, or until the parse reaches some developer-defined location, known as a breakpoint, in the DFDL Schema or the data being parsed. What is particularly helpful is that the developer can watch the parsed output, known as the “Infoset”, as it is being created by the parser, and watch where the parser is parsing in the data file. This enables the developer to quickly discover and correct DFDL Schema issues, making development and testing cycles more efficient.

Data Editor

The Apache Daffodil™ Extension for Visual Studio Code provides an integrated data editor that is tuned specifically for challenging Daffodil use cases. It is designed to support large files, of any type, that are well beyond the limits of the standard text editor in VS Code. The Data Editor allows for setting Daffodil Data Parse Debugger breakpoints on offset positions in the data file. The Data Editor handles non-standard byte sizes, non-aligned bytes, and byte ordering where the Least Significant Byte (LSB) can be the first or last bit in a byte. Features of the Data Editor will evolve to address the specific needs of the Daffodil community.

Getting Help

If additional help or guidance on using Apache Daffodil™, Apache Daffodil™ Extension for Visual Studio Code, or DFDL development in general is needed, please engage with the Daffodil user and developer communities on mailing lists and/or review the list archives.

Community Feedback

Apache Daffodil™ and the Apache Daffodil™ Extension for Visual Studio Code are Apache Software Foundation (ASF) projects, are free open-source software, and under active development. Feedback and contributions are welcome.

Additional Resources

Legal

Apache, Apache Daffodil, Daffodil, and the Apache Daffodil logo are trademarks of The Apache Software Foundation. Visual Studio Code, and VS Code are trademarks of Microsoft® Corporation. All rights reserved.