azure tools extension for visual studio code
Clone or download
Pull request Compare This branch is 8 commits ahead of bradygaster-zz:master.

Azure Tools for Visual Studio Code

This extension for Visual Studio Code gives Azure developers some convenient commands for creating or accessing resources directly in the editor.

V2.0.0 - Updates and Sunset Announcement

V2 of the Azure Tools removes Azure App Service, Azure Functions, and Azure Storage features, as those features are better represented in official extensions that provide great support for these service areas.

To mitigate the loss of features that have been deprecated from this extension in V2, we've taken a dependency on the official extensions that support the features previously provided by this extension.

Read more about the history of this deprecation and future plans here. As of 2.0.2, the main features of this extension have been deprecated in lieu of the official extensions for App Service, Cosmos DB, and so on.

This extension will receive no more updates or features.

Azure Resource Manager (Azure RM) Features

You can use keyword searches to find one of the numerous existing templates in the Azure QuickStart Templates repository, then download the templates you find and deploy them all within Visual Studio Code.

Search and Download from the Azure Template QuickStart Repository

Templates in the QuickStart repository are easily searchable from within Visual Studio Code.

Search for templates

Type in a string or combination of strings for which you're searching:

Search for templates

Select the appropriate template from the resulting list:

Select your template

Note that the templates you select are downloaded into the arm-templates folder in your workspace. This way you can open the parameters file, make changes, and customize your deployment.

Downloaded templates

Now that the Azure Tools for Visual Studio Code takes a dependency on the Azure Resource Manager Tools for Visual Studio Code, editing of Azure RM templates you download from the repository is easier due to auto-completion, IntelliSense support, and the other Azure RM editing features provided in the Azure Resource Manager Tools extension.

Deploying Templates

Once you've edited your ARM template you can even use Visual Studio Code to deploy the template and add your Azure resources to your subscription. The Deploy command is visible in the command list below.

Deploy command

The various Azure RM templates you may have downloaded into your workspace will be shown in a list. This way, if you have multiple resources you wish to deploy in phases or you're just testing various templates out, you can deploy them individually.

Select the template to be deployed

Deployments can be made to new or existing resource groups:

Create new resource group

The status bar shows that the deployment being created:

Deployment happening

In this template scenario a GitHub-backed Web App is created. The portal screenshot below shows how the site is being deployed from GitHub once the template is deployed.

Portal view

Finally, Visual Studio Code provides an update when the deployment has completed.

Deployment complete

Export Azure Resource Manager Template

In 1.2.0 we've added support for exporting existing resource groups to ARM templates saved in your workspace. First, you invoke the Export command using the palette.

Export command

Then you select an existing resource group.

Select a resource group

A few seconds later, the resource group's contents are downloaded as an Azure RM template and stored into your current workspace's arm-templates folder.

Export command

Output window messages

To address the perceived lack of action in the UX during execution we've added a custom Debug Console window that shows the progress of commands executed by the extension. The information in the output window will help customers have more information for error reporting.

Export command

Azure Key Vault creation

You can now use the Azure Tools for Visual Studio Code to create new Key Vault instances. Selecting the Create Key Vault command. Then you can create a new or select an existing resource group into which your new Key Vault will be created.

Create Key Vault

Azure Batch account creation

From within Visual Studio Code you can use the Create Azure Batch command from the palette, shown below, to create new Azure Batch accounts. Future releases may add support for scripting against your Batch account, creating Jobs, and so forth. Feel free to send the team requests for additional Batch features via our GitHub Issues page.

Create Key Vault

Getting Started

Once you've installed the extension you can log in using either your organizational account or a Microsoft account such as a address. If you need to log in using an "organizationa account" there is no setup work to be done. Simply pull up the command palette and look for the Azure: Login command. This command runs the web-based interactive login process.

Login Command

Logging in with a Microsoft Account?

If you're logging in using a Microsoft account (such as a,, or account) you will need to set the azure.tenantId setting. The screenshot below shows this setting being entered using the File -> Preferences -> User Settings feature.

Adding the Azure tenant ID setting

Once you've added the GUID-based setting (available Active Directory area in the classic portal to the user or workspace settings using the azure.tenantId setting you can login using your Microsoft Account. The animated gif below demonstrates the full process of logging in using an MSA.

Signing in using an MSA

Browsing Resources in the Azure Portal

Two commands are provided to enable easy access to your Azure resources in the portal. By opening the command palette and typing Browse you will see the convenient "Browse in Portal" options.

Browse Commands

You can navigate directly to an individual resource's portal page:

Select a resource

Or to a resource group's portal page:

Select a resource group

Extension Settings

Setting Description
azure.tenantId The GUID specifier for the tenant you intend on authenticating against. This is required if you're attempting to log in using a Microsoft Account like,, or
azure.showToolsWindowOnStartup To prevent the Azure Tools panel showing on startup set this to false. Default is true

By default the Azure Tools output window is opened on startup. If you prefer that it isn't opened on startup then you can change the azure.showToolsWindowOnStartup setting to false:

Disable tools window on startup


All dependencies are listed in package.json. You will need an Azure subscription. If you don't yet have an Azure subscription sign up for a free account and then you can make use of the features in this extension, not to mention all the great features Azure offers.

Known Issues

All feature ideas and issues should be reported using GitHub issues.

Release Notes

You can find notes for each release in the changelog.