Favourite VS Code Extensions for Azure Administration
Since its debut in 2015, VS Code has firmly established itself as the top code editor in the world. While not quite a full fledged IDE, many have tried by way of extensions to trick out VS Code as much as possible, to adapt it to being their perfect coding tool of choice. For cloud and DevOps professionals, VS Code can be further customised and moulded to being not the only and best tool required for when it comes to writing code and scripts for automation tasks, building CI/CD pipelines, IAC etc…
Fortunately the modding and extension community for VS Code is diverse enough to allow for these types of functionalities to be easily added with just a few button clicks. The only hard part is narrowing down the clutter of extensions to the most essential ones to do the job and not introduce to much bloat into VS Code.
I’ll be aiming this blog post to VS Code extensions geared for working in Azure environments as that’s what I know. Doing a quick search for Azure extensions shows there are almost 200 out there and so I’ve narrowed down my choice for Azure extensions to the top 7 or so ones I use to get the job done in Azure.
Azure Account
We will start off with the probably most basic but also the most essential Azure extension. The one that unlocks VS Code’s potential to be your one size fits all tool for Azure. And that extension is named simply Azure Account, which is the VS Code extension that offers single Azure sign-in and subscription filtering for all other Azure VS Code extensions. It adds many Azure sign-in and subscription commands in VS Code’s Command Palette, while also adding the Azure Cloud Shell service in VS Code’s integrated terminal. Put simply Azure Account makes your VS Code instance aware of Azure and is a prerequisite for many other VS Code Azure extensions which we are about to cover. A fact which is evident from it having over 3.5M installations.
Powershell
Any Windows sysadmins will be aware of Powershell and what it can do to administer Windows environments. Powershell is a great scripting language and in the context of Azure with a full range of AZ modules allows powerful control of your Azure environment from the command line, instead of using the Azure Portal to provision and configure resources. Windows 10/11 come with a built in Powershell editor called ISE (integrated scripting environment), which I found clunky and difficult to customise to my needs. Neither of these are issues anymore with the Powershell VS Code extension that replicates all the functionality of ISE into VS Code, while cutting down on how many programs you need to have open to work effectively in Azure and Powershell.
ARM Template Viewer
Probably my favourite extension on this list that is not officially made by Microsoft, the ARM Template Viewer provides an awesome real time architectural diagram of your ARM Template file as you are writing it in JSON. While BICEP is the new kid on the block, ARM Templates are still Azure’s number one IAC mechanism, and this extension is a must if you use them at all. This extension can also help give you a better understanding of the relationships between Azure resources by seeing the diagrams in real time as you build them, and just gives a nice bit of colour to something as seemingly mundane as cloud resource provisioning. Use this extension in conjunction with the ARM Tools extension which provides better code snippet support for ARM templates.
Azure Resources
The biggest benefit of using the Azure portal is the way it can give you an nice visual overview of all your Azure resources in list format. The Azure Resources extension translates that into VS Code by giving you nice and simple drop down overlays of all your resources grouped into Subscriptions and resource groups. The full potential of this plugin is unlocked by also installing these six other extensions:
Azure App Services
Azure Functions
Azure Static Web Apps
Azure Databases
Azure Storage
Azure Virtual Machines
With these extensions also installed Azure Resources has full access to all the Amin services you typically use and allows full creation and control with a graphical interface from right within VS Code, cutting down substantially on needing the Azure Portal.
Azure Repos + Pipelines
So for this next one, I’ll combine two different extensions, namely Azure Repos and Pipelines as they go together very well. In case you don’t know, Repos and Pipelines are the two most used elements in the Azure DevOps suite, so with these two extensions it feels like you’ve just imported the main part of Azure DevOps into VS Code.
The Azure Repos extensions allows you to browse through your remote code repositories while allowing full branching, cloning and forking functionality.
The Azure Pipelines extensions then allows you to write the deployment pipelines for your repos with full code snippets and YAML highlighting. It effectively makes working with YAML code (the backbone of most modern CI/CD pipelines) a lot easier.
Docker
The word containers is hardly worth mentioning to cloud professionals anymore, seeing as how quickly they have become an essential part of running cloud applications. Adding container functionality into VS Code is simple with the Docker extension (not to be confused with the Docker Explorer extension) which makes it easy to build, manage, and deploy containerized applications from VS Code. It also provides one-click debugging of Node.js, Python, and .NET Core inside a container. And in case your wondering full integration to pull and upload to the Azure Container Registry (ACR) is included. To take it a step further you could also add the Azure Kubernetes Service (AKS) extension into the mix which allows for container orchestration commands from within VS Code.
GitLens
Arguably a more important tool for Software Developers than DevOps Engineers, having a good Git client installed on your computer is still important to be able to see how your development team operates and moves through their codebase so as DevOps guys we can facilitate smoother operations to them.
So with that in mind what Git client should we use? Luckily instead do installing another program on your computer we can let VS Code handle all that extra Git functionality by using this extension. GitLens helps by visualizing code authorship at a glance via Git blame annotations, and seamlessly navigate and explore Git repositories, gain valuable insights via rich visualizations and powerful comparison commands etc…
This YouTube video gives a great in depth review of the extension in case your interesting in trying it but I do recommend it myself, and it of course works seamlessly with Azure Repos.