This post is co-authored by Anjali Agarwal and Laura Jiang.
The release of the Azure Data Studio extension generator is now available. Install the generator through npm and get started with extension development with these Azure Data Studio extension tutorials.
The Azure Data Studio extension generator is a command line tool designed to help extension authors get started with the process of extension development. It includes extension templates that enable users to create and publish extensions with minimal technical knowledge required. In our most recent release, we have added three highly requested extension templates to the generator.
Key highlights of this release:
- Dashboard template.
- Jupyter Notebooks and Jupyter Books template.
- Wizards and Dialogs template.
- Usability improvements and bug fixes.
The Azure Data Studio dashboard is a tool that summarizes and provides insight into users’ server and database connections. Our template eases the process of writing extensions that contribute to the dashboard. This includes the ability to add:
- Dashboard tabs: Separate tabs dedicated to your extension.
- Toolbar actions: Actions on the homepage toolbar, such as Run Query and Get Notebook.
- Dashboard insights: Graphs that run against a SQL Server connection.
If you are a prospective extension author interested in expanding the functionality of Azure Data Studio, contributing to the dashboard is an easy to use, powerful solution. Dashboard contributions allow you to surface your additions in the UI, with little to no TypeScript code required.
To get started with the dashboard template, install and run the extension generator. When prompted, select New Dashboard from the list of template options. Or, for step-by-step instructions, follow this tutorial.
Jupyter Notebooks and Books templates
Azure Data Studio extensions are a mechanism by which you can share your Notebooks with other data professionals. The Jupyter Notebook and Jupyter Book templates guide the user through creating, packaging, and shipping a book or notebook extension, which allows you to spend more time focused on content creation.
Tip: Jupyter Notebooks, documents that can contain rich text cells and executable code cells are supported in Azure Data Studio. Notebooks are a powerful tool to implement tasks from data cleaning and transformation to statistical modeling, and to data visualization. Jupyter Books are organized collections of Notebooks that you can section into chapters to clearly communicate to the reader different topics associated with the Notebooks.
If you have Book or Notebook content that you’re eager to share, all it takes is following a few short steps in the generator to select and package the content. From there, it is ready to be published to the Azure Data Studio extension marketplace. Sharing Notebooks through extensions bypasses the frustrations of sending content via email or chat. Your content can now be centralized, discoverable within Azure Data Studio, and updated as desired.
To get started with the Jupyter Notebook or Book template, install and run the Extension Generator. When prompted, select New Notebooks (Individual) to ship individual Notebooks in your extension, or New Jupyter Book to ship a complete Jupyter Book.
Wizards and Dialogs template
Azure Data Studio offers APIs to create wizards and dialogs to interact with users. Wizards guide users through a series of steps to complete a task. Dialogs are similar but are usually a single form that can be filled without the notion of a sequence of steps. Both are used by many existing extensions, including the SQL Server Dacpac, SQL Server Import, and Machine Learning extensions.
If you are looking to build an extension that collects information from users, the Wizard and Dialog template offers a well documented, easy to use solution.
Usability Improvements and Bug Fixes
Key improvements include:
- Generator prompts that are more intuitive and include default values.
- Ability to include proposed APIs in an extension.
- More comprehensive documentation.
A full list of updates can be found in our GitHub.