Best Visual Studio Code Extensions for Developers
Great tooling can help developers write faster, cleaner, and more consistent code. A few months ago, I asked front end developers here at Shopify what extensions, packages, and plugins they couldn’t live.
How to Install
You should note that Visual Studio Code has a lot of built-in support for many of the widely used plugins or packages found in other editors. These include support for Emmet, an integrated terminal, Intellisense for a bunch of different languages out-of-the-box (JavaScript, TypeScript, JSON, HTML, CSS, Less, and Sass), as well as version control support.
Browsing and installing extensions from within Visual Studio Code is pretty easy. Simply type cmd + shift + x
(on a Mac) or ctrl + shift + x
(on a PC) to bring up the View: Extensions panel, then click on the Install button to install the extension you want.
Alternatively, you can browse and install extensions by clicking on the Extensions icon in the Activity Bar on the left-hand side of VS Code.
You can also use the Command Palette to install extensions (all at the same time) by typing cmd + shift + p
(OSX) or ctrl + shift + p
(Windows, Linux), then type “Install extensions” and select Extensions: Install Extensions.
You’ll need to restart VS Code when you install a new extension for it to take effect. In addition to searching through extensions within VS Code, you can also browse the VS Code Extension Marketplace, which has lengthier documentation about each extension.
Settings Sync
The Settings Sync extension, previously known as Visual Studio Code Settings Sync, synchronizes settings, snippets, themes, keybindings, workspaces, extensions, and more across multiple machines. I think this is probably one of the most important and useful extensions that ensures no matter what computer you’re on, you can have all the tooling you’re used to.
Snippets and code style
Snippets are pretty simple: begin typing a keyword that activates a snippet and then expands the text. There are a bunch of snippets built into VS Code by default and show via Intellisense ^ + space
mixed with other suggestions, or in a dedicated snippet picker. You can insert a snippet from the picker by opening the Command Palette and then typing “Insert Snippet”. You can also create your own snippets using the TextMate snippet syntax;
HTML Snippets
HTML Snippets adds in rich language support for HTML markup, including snippets, quick info, and descriptions that include whether a tag is deprecated.
Trailing Spaces
The Trailing spaces extension does pretty much what’s in the title, it enables you to highlight trailing spaces and remove them quickly. This extension is a port of the popular Sublime Text plugin Trailing Spaces, and offers quick deletion of trailing spaces, trim on save, and more.
Blank line at end of file
Blank line at end of file is a minimal and super simple extension that adds an extra blank line at the end of any saved file.
Linters and syntax highlighting
It’s important to have consistency, linters provide that consistency, and help set best practices for your team. Syntax highlighting is also key when it comes to ease of use in a text editor. VS Code has a lot of supported languages out-of-the-box, meaning that there aren’t many extensions needed to enhance that experience.
Stylelint
Stylelint is an extension that lints CSS, SCSS, and Less. You can control whether stylelint is enabled for different languages or not, depending on how you wish to configure it’s settings. View stylelint
ESLint
This extension integrates ESLint into VS Code, it requires you to already have ESLint installed on your computer: either locally or globally. You can do this with npm, by running npm install -g eslint
. There are more detailed configuration and installation settings and instructions on the extension marketplace page. View ESLint
Git integration
Terminal integration comes automatically with VS Code, making it easier to commit changes without having to leave the editor. Simply use the ^ + `
keyboard shortcut to open the integrated Terminal from within VS Code. We all need to keep track of the changes we make in our code, and what better way to do that than with Git. Here’s one extension that helps integrate Git even more into VS Code.
Git Lens
The Git Lens extension is truly amazing, it enables you to visualize code authorship within VS Code. You can browse and explore the history of a file, view a git blame annotation for each file line, and even add a changes (diff) hover annotation, all of which are fully customizable.
Editor enhancements
These editor enhancements make debugging and writing and reading through code faster. They help to aid in your day to day programming, whether that’s searching through a method someone else wrote, or getting class name hints as your writing markup.
Path Intellisense
The Path Intellisense extension helps to autocomplete filenames. Super useful when writing out paths in markup, or in any file that has path references.
IntelliSense for CSS class names
The IntelliSense for CSS class names extension helps to autocomplete class names for the HTML class
attribute by looking at the CSS class definitions in your workspace, and external files referenced through the link
element.
CSS Peek
CSS Peak extends HTML and Embedded JavaScript templates with Go To Definition support for CSS classes and IDs found in your markup.
Guides
The Guides extension adds additional indentation guides to your editor. It’s different from the built-in indentation guides by adding stack and active indentation guides, indentation backgrounds, and you can color
Debugger for Chrome
The Debugger for Chrome extension adds the Google Chrome browser debugger into your editor. It allows you to launch an instance of Chrome navigated to your app, or it can attach to a running instance of Chrome. Using the url
parameter, you tell VS Code which URL to either open or launch in Chrome.
Instant Markdown
The Instant Markdown extension lets you edit Markdown documents in VS Code and instantly previews them in browser. It’s super helpful for editing readme files and other documents written in Markdown.
Open in browser
This extension does exactly what it says, it enables you to view an HTML file in browser. It opens HTML pages in your default browser, but you can also select “open in other browsers” to open in a different one on right click.
Themes and fun 🌈
There are a lot of themes available for VS Code, which you can find on the VS Code themes website. Additionally, it can be fun to spice up your editor with some color. Here are a few extensions and themes that are particularly popular for VS Code users.
Rainbow Brackets
Add some fun into your editor with 🌈 Rainbow Brackets! This extension provides rainbow colors for round brackets, square brackets, and curly brackets. Especially helpful for JavaScript programmers!
Indent Rainbow
The Indent Rainbow extension colorizes the indentation in front of your text, alternating between different colors on each step.