If your authoring ARM templates then you can use pretty much any text editor, however, tools like Visual Studio and Visual Studio code offer some additional functionality to help you with the process. If you are using VS Code, then Microsoft has created the “Azure Resource Manager Tools” extension to add support for ARM templates. If your not already using this extension, then I recommend you install it, however, the features this extension provides are not always apparent.
I previously wrote about using VS Code for authoring Azure Resource Manger templates, in particular about using the snippets from the cross platform toolkit to create skeletons for many ARM resources. In this post I documented the manual installation process for these snippets, as there was not a VS Code extension to install these automatically. This is no longer the case, I have recently published a VS Code extension that takes these snippets (with attribution) and packages them up and makes them available in the VS Code marketplace for easy installation and updating.
Since writing this article I’ve released a VS Code Extension that installs these snippets with a single click, see here. In my previous post on using VS Code for authoring ARM templates I recommended using an ARM Snippets from the plugin gallery. However since then I have come to realise this plugin is fairly limited in the amount of plugins, and difficult to extend. Given this I would now recommend utilising the set of snippets provided by the Azure Cross Platform Tooling Samples
If your writing ARM templates for Azure you’ll have found that the amount of tooling available for authoring templates is fairly limited. The default solution seems to be Visual Studio but this can be very heavyweight and resource intensive without gaining any of the real benefits of VS such as debugging. I’ve recently switched over from using Visual Studio to use Visual Studio Code, for a much more light weight experience.