It's no secret that I love using Visual Studio Code, but what makes it amazing is the massive ecosystem of extensions. There are thousands of extensions in the wild that add linting, code snippets, themes, and more, but what extensions can provide the most significant impact on your workflow? Let's talk about ten Visual Studio Code extensions that every developer, regardless of language or platform, can benefit from using today.
Rest Client
It's not hyperbole to say the Rest Client extension is a game-changer. If you regularly use REST APIs, you've undoubtedly used tools like Postman, Insomnia, or others. Rest Client can replace all those by allowing you to make RESTful API requests from within VS Code. One of the best parts is saving your requests as .http
files with your code. Sending data, headers, and parameterized requests are all possible. Check out the Extension Highlight I recently released on YouTube to see it in action.
Remote - Containers
Even though it's been around for over a year, Remote - Containers is another extension that seems stuck in that "Preview" state. It allows you to use a Docker container as a full-featured development environment. Once your repository has it configured, developers won't need to install 3rd-party SDKs or CLIs locally to work with your codebase. I've given talks about developing inside containers and recently released an Extension Highlight video on YouTube you can check out to learn more.
GitLens
GitLens is a perfect name for our next extension. It provides a "lens" into data you'd typically find in the Git CLI or GitHub website. Information like git blames, author data, and recent changes show within the code editor to give you a short history of that piece of code. It also provides a powerful repository view that gives you access to details that would cause you to leave the code editor to check out.
GitHub Pull Requests & Issues
Speaking of GitHub-related extensions, GitHub Pull Requests & Issues makes managing pull requests and issues much easier. Anything you can do with pull requests in the browser can be done directly within VS Code. There's also a great capability for checking out the pull requests code to run it locally. Imagine commenting on an issue or reviewing a pull request without leaving your development environment. That's just the tip of the iceberg as far as this extensions' features. Check out the Extension Highlight to see features.
Docker
If you're using Docker containers, even if it's just with the Remote - Containers extension above, this extension is a must. It provides a great UI experience that is usually managed via the terminal. The Docker extension shows all containers, images, volumes, networks, and registries within the activity bar then gives you the ability to fully manage them. Even right-clicking to enter a containers' shell.
YAML
I wasn't at the meeting where everyone decided we would use YAML for DevOps, but if you're looking to build continuous integration or deployment processes today, you're stuck with it. That being said, the YAML extension by Red Hat makes dealing with YAML much easier. Like other extensions in this list, it's still in "Preview," but it works well enough that you should have this installed if you use YAML. I find myself using it to make sure my GitHub Actions aren't ruined by simple spacing issues.
ESLint
If you've ever built a project with a team, you know the experience of trying to manage style rules across team members. Many projects use ESLint to set expectations and audit code in a project, but the ESLint extension brings that capability all the way to the code editor. It displays linting errors in real-time as you're writing code, allowing you to make adjustments before commits or pull requests.
Live Share
With more teams working remotely, it's becoming increasingly important to communicate well. Live Share helps you quickly share your code, debug sessions, and more with others. You can allow them to join your development session as a viewer or contributor and they experience the code base as if they were running it locally. In fact, they can debug remotely to help you solve problems faster. Check out the Extension Highlight for more features.
Code Spell Checker
There's no secret to the problem Code Spell Checker solves. Whether it's variable names or comments, this extension looks over your shoulder to make sure you're spelling things correctly. Sure it helps with my code, but I see the biggest benefit when writing documentation or blog posts like this one. I write all my posts & most of my documentation in Markdown and inside VS Code. Code Spell Checker just makes sure I don't distract people from the point I'm conveying with spelling mistakes.
Bracket Pair Colorizer 2
Bracket Pair Colorizer 2 is the most straightforward extension of the pack. Still, it solves an inconvenience that I've lived with for 20 years of development. When writing code that requires multiple pieces of code with nested parenthesis, square brackets, or curly brackets, it's easy to lose the context of where you are in your code's logic. Bracket Pair Colorizer 2 solves this by color-coding your parenthesis and brackets to help you identify the context you're working in faster. There are several points of customization that I covered in an Extension Highlight that you can check out.
Wrap Up
Are there VS Code extensions you can't live without? Would you like to see an Extension Highlight about an extension you've been using or thinking about? Look me up on Twitter, LinkedIn, or Discord and let me know!