What tools should you use to edit Azure JSON templates? I’ll show you how to get started with the tool that I recommend – VS Code.
Microsoft has a free and open-source, stripped down version of Visual Studio called VS Code. VS Code doesn’t have some of the fancy GUI and deployment options of Visual Studio, but VS Code makes for a great JSON editor, especially when you add a few Azure JSON extensions.
The Windows installer download is just over 32MB (at the time of writing), and it’s a simple next-next-next routine, which differs greatly from my last, confusing, experience with Visual Studio. When you open VS Code for the first time it has basic functionality, such as IntelliSense, code validation, and formatting to fix up all that annoying indentation that makes the template readable.
VS Code doesn’t understand Azure JSON to begin with, so you need to add an extension to add JSON functionality. A marketplace of extensions exists for VS Code; these extensions include Microsoft-written extensions and others from interested third-parties, including community and business offerings.
To add support for Azure Resource Manager (ARM) templates, do the following in VS Code:
Tip: When you start a new file in VS Code, the tool has no idea what you’re doing, so save the file in the right format as soon as you can so that VS Code can start to help you.
This extension adds a lot of functionality that I like:
VS Code doesn’t have the pretty UI for adding resources to a template that you’ll get in the paid-for Visual Studio, but you can get this functionality via IntelliSense – you simply start typing the resource type, select an option, and VS Code fills out the framework required to deploy that resource. For example, if I type “arm” in an empty Resources section, a menu appears and I can select a snippet for lots of resource types. If I select arm-vm-windows, all the pieces that are needed to deploy a virtual machine are added to the Resources section:
I’d get all that just by typing “arm” and selecting a menu option!
Enabling ARM JSON snippets is a little fiddly, but not that difficult:
Now you have all you need to open existing Azure JSON templates, and edit, review and save JSON files to deploy resources in Azure.