Extend the functionality by creating Azure Data Studio extensions
Extensions in Azure Data Studio provide an easy way to add more functionality to the base Azure Data Studio installation.
Extensions are provided by the Azure Data Studio team (Microsoft), as well as the 3rd party community (you!).
Author an extension
If you're interested in extending Azure Data Studio, you can create your own extension and publish it to the extension gallery.
Writing an Extension
To develop an extension you need Node.js installed and available in your $PATH. Node.js includes npm, the Node.js Package Manager, which will be used to install the extension generator.
To start your new extension, you can use the Azure Data Studio Extension generator. The Yeoman extension generator makes it very easy to create simple extension projects. To Launch the generator, type the following in a command prompt:
npm install -g yo generator-sqlops
Debug an extension
You can debug your new extension using Visual Studio Code extension Azure Data Studio Debug.
- Open your extension with Visual Studio Code
- Install Azure Data Studio Debug extension
- Press F5 or click the Debug icon and click Start.
- A new instance of Azure Data Studio starts in a special mode (Extension Development Host) and this new instance is now aware of your extension.
Create an extension package
After writing your extension, you need to create a VSIX package to be able to install it in Azure Data Studio. You can use vsce to create the VSIX package.
npm install -g vsce
Publish an extension
To publish your new extension to Azure Data Studio:
- Add your extension to https://github.com/Microsoft/azuredatastudio/blob/release/extensions/extensionsGallery.json
- We currently don't have support to host third party extensions, so instead of downloading the extension, Azure Data Studio has the option to browse to a download page. To set a download page for your extension, set the value of asset "Microsoft.AzureDataStudio.DownloadPage".
- Create a PR against release/extensions branch.
- Send a review request to the team.
Your extension will be reviewed and added to the extension gallery.
Publishing Extension Updates The process to publish updates is similar to publishing the extension. Please make sure the version is updated in package.json