The 12 Extensions of Christmas: Essential VS Code extensions for Azure Platform Engineering
Stephen Tulp
December 1, 2025
7 minutes to read
When working with Bicep and Azure infrastructure deployments, it is important to have the right tools at your fingertips to maximise productivity, consistency and code quality. There are so many extensions available for Visual Studio Code that it can seem overwhelming at times to choose the right ones. This post was inspired by a former colleague and fellow MVP, Curtis Milne, who posted on My Top 3 VS Code Extensions.
I’ve refined my Visual Studio Code setup over the years to incorporate things I have found on LinkedIn, updates from the MVP community and conversations with people who are passionate about IaC. Here are the extensions that have become indispensable in my daily workflow, along with why each one earns its place in my development environment.
1. Bicep
The official Microsoft Bicep extension provides a first-class authoring experience for Bicep, including rich type safety, Intellisense, and syntax validation. It seems every day I find another feature or tip from the community that I didn’t know about or hadn’t fully explored yet. The LinkedIn Bicep community is fantastic for sharing knowledge and best practices on this, and some useful commands can be found here.
2. PSRule for Azure
Validate infrastructure as code and deployed resources against a pre-built set of tests and documentation to help you configure Azure resources aligned with the Microsoft Well-Architected Framework.
3. GitHub Copilot
AI-assisted coding has transformed how I approach IaC provisioning. GitHub Copilot helps across the whole SDLC, from Development to Testing, Deployment and Monitoring. The rest of the posts in this series will dive deeper into how I use Copilot to enhance my productivity and code quality.
4. ePacMan (Enterprise Policy as Code Manager)
If you are focused on the Azure Policy space and have leveraged the Enterprise Policy as Code solution from Microsoft, this extension provides schema validation, GitHub integration and the ability to create assignments from existing local definitions.
5. Code Tour
This one is pretty neat! CodeTour is an extension that allows you to record and play back guided walkthroughs of your code. It gives an interactive experience and onboarding experience to new users of your code base.
6. Markdown All in One
Good infrastructure code requires excellent documentation. This extension lessens the burden of markdown documentation and helps with automating the table of contents.
7. CodeSnap
It can be tedious taking snippets or screenshots of code for blog posts or documentation within the repo, CodeSnap for me is by far the best and convenient to use, select the code you want in the screenshot and right click » CodeSnap and it is created in a nice concise screenshot.
8.Prettier
An opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. For me, I use the native formatter in Bicep for Bicep code and Prettier for almost everything else.
9. Live Share
Being able to collaborate with a peer within VS Code, using your preferences and configurations, is great for those times that you need assistance or want to get someone to peer review something locally. Can thank Trent Steenholdt for this one.
10. Australian English
Even though English is my first language, you probably wouldn’t think so based on my previous blog posts. Also picking up the optimize, authorize, and other Z’s is super useful for us Aussies.
11.Dev Containers
The Dev Containers extension lets you use a Docker container as a full-featured development environment, and I use this quite a bit for the Insight blog to test changes locally to ensure posts render well before they are published.
12. Rainbow CSV
Working with exported data and CSV files? (looking at you, Azure Firewall and Azure Policy) This helps to colour code entries within the editor and make it easier to read.
Other Notable Recommendations
- PowerShell and Azure CLI Tools - As much as you would like to have perfectly curated IaC with Bicep or Terraform, there is always a need to do last-mile configuration or call the templates within a pipeline.
- Various GitHub Extensions - I have grouped these as one entry and distinct from GitHub Copilot. I have quite a few of these, including GitHub Codespaces, GitHub Theme, GitHub Repos, GitHub Actions and GitHub Pull Requests.
Suggesting Recommendations
You can provide a suggestion for extensions that will prompt the user when they open the repo. The file is stored within .vscode/extensions.json and is a great way to provide extension recommendations that are related to the functionality of the repo.
The below will pop up in the bottom right hand corner of VS Code and give you an easy way and link to install it, or exclude if you don’t want or need it.
Conclusion
I recommend starting with only the essential extensions that you think you will need, then gradually adding more as specific needs arise. This approach prevents tooling bloat while ensuring each extension serves a clear purpose. In the next post, we’ll enhance the development experience further by integrating MCP servers and configuring GitHub Copilot with custom agents, prompts, and instructions to infuse AI capabilities within the IDE experience.