Best VS Code extensions to use in 2023
Tags: vscode, programming, tutorial
Published: 2023-01-25 19:05:24

[Visual Studio Code](https://www.educative.io/answers/what-is-visual-studio-code?eid=5082902844932096), maintained by Microsoft, is one of the most **popular open-source code editors** out there. VS Code aims to offer all the tools you need while cutting out the complex workflows of full IDEs. Many programmers prefer VS Code because it offers so many extensions for added functionality, productivity, debugging, and speed.

In this quick guide, we’ll go over the best [VS Code extensions](https://www.educative.io/answers/how-to-code-faster-with-vs-code-extensions?eid=5082902844932096) that any web developer should use in 2023. We'll discuss what they do and how they can make your coding life easier. Let's jump in!

**Our top Visual Studio Code extensions:**

* [Bracket Pair Colorizer](#1)
* [Better Comments](#2)
* [Snippets](#3)
* [CSS Peak](#4)
* [Prettier](#5)
* [Relative Path](#6)
* [Icons](#7)
* [GitLens](#8)
* [Import Cost](#9)
* [Markdown All in One](#10)
* [Intellisense](#11)
* Plus a closing section on: [VS Code Accessibility issues](#accessibility)

Let's get started!

<a name="1"></a>

## Bracket Pair Colorizer

The VS extension Bracket Pair Colorizer **matches corresponding brackets** in your code with the same color. This is a great help when you're working with things like nested components, objects, or functions that all have brackets or parentheses. 

With this simple extension, it's much easier to find matching pairs and understand your code. The biggest advantage of this extension is improved navigation and accessibility. It also makes it easier for others to read and understand your code.

![Bracket Pair Colorizer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yzanda34ml1d4tegh0at.png)

<br>

<a name="2"></a>

## Better Comments

Better Comments is an extension used for writing **human-friendly comments** in your code, which is helpful for you and anyone who is reading source code (especially for teams). Descriptive, human-friendly comments save so much time for everyone involved.

With this VS extension, you can use the following characters after a double forward slash `//` to add easier commenting:

* `*` for highlighted text
* `!` for errors and warnings
* `?` for queries and questions
* `//` for strikethrough
* `TODO` for to-dos

![Better comments](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qi3osuwgmf9imda6sd9k.png)

<Br>

<a name="3"></a>

## Snippets

Snippets are an excellent add-on for productivity. Snippets is a collection of various extensions for the most commonly used programming languages. The React Snippet is a popular extension, for example, that allows you to use and **create shorthands** for things you do over and over again.

Some popular options are:
* Angular Snippets (version 11)
* Python
* JavaScript (ES6) code snippets
* HTML Snippets
* [Vue](https://www.educative.io/blog/react-angular-vue-comparison?eid=5082902844932096) 3 Snippets

![Snippets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vdpmt0binp64gyokgff2.png)

<br>

<a name="4"></a>

## CSS Peek

CSS Peek is a great extension for web developers, as it allows you to "peek" at the styles for CSS classes, ids, and even HTML tags. This extension is similar to the Brackets feature called CSS Inline Editors.

CSS Peek supports symbol definition tracking for any CSS selector, for example:

* **Peek:** load a CSS file inline for quick edits (`Ctrl+Shift+F12`)
* **Go To:** jump directly to a CSS file (`F12`)
* **Hover:** show the definition when hovering over a symbol (`Ctrl+hover`)

![GitHub](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3cd6ulv7qrdhksb3kv41.png)

<br>

<a name="5"></a>

## Prettier 

The Prettier extension is a formatter that helps to **keep code style consistent**. You can configure your settings however you need and save with shortcuts. Prettier is one of the most popular code formatters out there, with over 38.5k stars on GitHub.

Prettier will automatically fix formatting issues in your code, like fixing the mix of single and double quotes or irregular use of semicolons.

> This extension works with the following technologies: JavaScript, [TypeScript](https://www.educative.io/blog/typescript-tutorial?eid=5082902844932096), Java, JSON, CSS, HTML, Vue, Angular, Markdown, YAML, and more.

![Prettier](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/neb5mk1xi3m75eebpvmz.png)

<br>

<a name="6"></a>

## Relative Path

Relative Path is a great extension for **writing import statements**. You can easily get the relative path for any file using shortcuts in your workspace. Instead of searching for file’s location, you only need the file’s name, and the extension will provide the relative path from the current location to that target file.

> **Note:** It will require some configuration if you're working with a large mono-repository.

![Relative path](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e9l1kemws2humir3bz3f.png)

<br>

<a name="7"></a>

## Icons 

Icons allow you to create **descriptive icons** to help differentiate between files and folders. This makes your code more visual, so it's easier to work as team, return to code after some time, or even just make the experience more fun. For example, you could change the color of a default folder icon using the command palette.

There are a few different Icons extensions, including

* vscode-icons
* Material Icon Theme
* Material Theme Icons
* Simple icons

![Icons](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zm5525m2atk215oghl5v.png)

<br>

<a name="8"></a>

## GitLens

The GitLens extension **combines the capabilities of Git with VSCode** that allows you to visualize code authorship via [Git](https://www.educative.io/blog/git-github-tutorial-beginners?eid=5082902844932096). GitLens is great for understanding code better, so you can learn who, why, and when code was changed. It also allows you to explore the history and evolution of a codebase.

It also has many other features to use, such as:
* Revision navigation through file history
* A current line blame annotation at the end of the line showing the commit
* A status bar blame annotation for the commit and author who last modified the current line

![GitLens](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/347lbnqhovokhavpyfn3.png)

<br>

<a name="9"></a>

## Import Cost

The Import Cost extension helps with productivity by showing the estimated size of an import package. This helps to avoid issues by tracking the size of added dependencies.

If an import is too large, the Import Cost extension will warn you so you can reconfigure based on the requirements you set.  

![Import Cost](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/laod8dnnch0l6f6lyvjo.png)

<br>

<a name="10"></a>

## Markdown All in One 

Markdown All in One is a very useful extension for all things markdown related. It adds features like **auto-preview, shortcuts, syntax autocomplete** and more. Markdown is commonly used across many tech fields, and this extension makes it even easier to work with, boosting productivity and speed.

With Markdown All in One, you can use shortcuts to alter text and add things like bold, italics, etc. It also has useful automation for working with things like lists and math. Here are some common commands: 
* Create a Table of Contents
* Remove section numbers
* Toggle code block
* Print current document to HTML

![Markdown](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u9k7xzuz5o34l52w7obd.png)

<a name="10"></a>

## IntelliSense

IntelliSense is what VS Code calls its own **code autocomplete** feature, but it encompasses several different functionalities as well. It also includes: **parameter info, quick info, and member lists**. Highlighted suggestions can be inserted with `Tab` or `Enter`. 

When suggestions are accepted, Intellisense remembers what partial characters were typed. That way, if you type those characters again the accepted suggestion will appear first. This effectively allows you to customize recommendations by being deliberate with when you accept them. For example, if you type `co` and then accept the autocomplete: `console`, the next time you type `co`, `console` will be suggested first. If you type `con` and select `const`, then that choice will be remembered also.

IntelliSense comes out of the box set up for JavaScript, TypeScript, JSON, HTML, CSS, SCSS, and Less. But it can easily be installed for almost any language of your choice with the language package extension. There are language extensions that encompass advanced IntelliSense features for: 
* Python
* C/C++
* C#
* Java
* Go
* Dart
* PHP
* Ruby

> **Personalization:** Intellisense can also be customized with key bindings!


## VS Code accessibility issues

With any code editor or IDE, setup can be a pain. VS Code is fairly simple when it comes to setting up extensions, but it can be a little trickier to find all of the accessibility accommodations at first.

Luckily, VS Code has plenty of modularity when it comes to accessibility. The [official documentation]() covers a wealth of accessibility settings, especially those related to visibility. There are options and keyboard shortcuts to help with things like zoom, custom color contrast settings, and even navigation. 

VS Code offers support for multiple different screen readers too. They have tested and confirmed the use of NVDA and JAWS on Windows, VoiceOVer on macOS, and Orca on Linux. When VS Code detects a screen reader, it defaults to a screen reader optimized mode that alters the UI for the editor and Integrated Terminal. 

There are multiple different functional sections of the code editor that can be adjusted for accessibility. The terminal, status bar, and debugger are all modifiable. Additionally, changes can be made to the hover function for use with screen magnifiers, and audio cues can be added for use with screen readers. 

There are even a few extensions that you can add to VS Code that help you keep accessibility in mind *while you code*. The first is called **Webhint**, and although it does more than just flag accessibility issues, we all could use some accessibility-related reminders every now and then. It can analyze HTML, CSS, JavaScript, TypeScript, JSX, and more, all while you code. The issues highlighted by Webhint appear in the error pane. Pairing Webhint with the extension Error Lens allows accessibility issues (along with regularly flagged errors) to be even more visible. Error Lens takes problems normally displayed in the error pane and displays them on the line where they occur. 

When the two extensions are combined, VS Code can remind you to add alt text to images, suggest that elements need more color contrast, and much more, all in the line that the reminder is relevant to. Webhint and Error Lens are especially useful for accessibility compliance for front-end devs, but really any developer can get use out of them.

## VS Code shortcut cheat sheet

We hope you got some value out of these extensions. Now you can start a new project knowing that your favorite code editor is even better. To say thank you for reading this far, please enjoy this VS Code shortcut PDF!

![VScode PDF cheatsheet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/odhwf2qrla8msci3dog1.png)

<br>

### Continue reading about productivity on Educative
* [10 tips for managing time estimations on coding projects
](https://www.educative.io/blog/10-tips-for-managing-time-estimations-on-coding-projects?eid=5082902844932096)
* [How to minimize distractions while working from home
](https://www.educative.io/blog/work-from-home-minimize-distraction?eid=5082902844932096)
* [7 coding tools that will maximize your effectiveness](https://www.educative.io/blog/7-coding-tools-to-maximize-effectiveness?eid=5082902844932096)

### Start a discussion
What is your favorite VS code extension to use? Was this article helpful? Let us know in the comments below!