The Ultimate VSCode Setup for Front End/JS/React

Elad Ossadon
Productivity Freak
Published in
7 min readNov 10, 2018

--

Updated Feb 2020

My The Ultimate Atom Editor Setup (+for JS/React) post is pretty popular, but not long ago I migrated to VSCode.

Why? Speed, stability and TypeScript.

Overall, I’m very happy with the switch. As with Atom, for me, out-of-the-box the editor has a lot of missing functionality. However, it is covered by extensions.

I divided this list into Utilities and HTML/CSS/JS/React specific extensions, sorted alphabetically.

Utilities

Bracket Pair Colorizer

This extension allows matching brackets to be identified with colours. The user can define which characters to match, and which colours to use.

Bracket Pair Colorizer

change-case

A wrapper around node-change-case for Visual Studio Code. Quickly change the case of the current selection or current word.

change-case

Code Spell Checker

A basic spell checker that works well with camelCase code.

The goal of this spell checker is to help with catching common spelling errors while keeping the number of false positives low.

Code Spell Checker

DuplicateSelection

This extension brings Sublime-like duplication of selected text — it duplicates it inline, and not in a new line, like the default behavior of VSCode.

EditorConfig for VS Code

Brings EditorConfig and .editorconfig support to VSCode.

File Utils

A convenient way of creating, duplicating, moving, renaming and deleting files and directories.

I configured keyboard shortcuts in the File Explorer, like r to rename and d to duplicate.

file-icons

File-specific icons in VSCode for improved visual grepping.

Find Related Files

Finds files related to the current file based on user-defined configuration rules. I use it to find spec/test files based on source files.

FiraCode

Monospaced font with programming ligatures.
tl;dr — converts !==, => etc into beautiful symbols.
VSCode instructions.

GitLens — Git supercharged

Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more

indent-rainbow

This extension colorizes the indentation in front of your text alternating four different colors on each step. Some may find it helpful in writing code for Nim or Python.

macros

automate repetitive actions with custom macros.

VSCode doesn’t have a built in way to open file explorer and focus on the current file, these are two different commands. This extension allows combining a set of commands, so I hooked cmd+shift+r to do that. See instructions here.

Markdown All in One

All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more).

Material Icon Theme

Material-UI inspired file icons, alternative to File Icons.

Multi Line tricks

Enable Alt+L (line select) and Alt+Shift+L (selection to multi-cursor) behavior on VSCode. Another feature I really missed from Sublime.

Nest Comments

If your code contains a comment, and you want to add a new comment to temporarily disable a block or portion of code, the first instance of a --> or */ closing comment tag will end the entire comment.

This extension will convert pre-existing comments to safe characters, allowing a new block comment that includes the original comment. It also reverses the effect to uncomment the same block of code.

open-in-finder

Adds a few commands for opening the current file or project in Finder.

open-in-github

Open the current project or file in github.com.

Path Intellisense

Visual Studio Code plugin that autocompletes filenames.

Project Manager

Easily switch between projects

saveBackup

Backup file when you save. Life saver.

Sensitive Replace (VSCode now supports this feature!)

Replace selections while preserving cases.

Settings Sync

Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.

Toggle Quotes

Toggle cycle " -> ' -> `

transpose

Transpose is an extension for VSCode for transposing/swapping selections or characters.

Unique Lines

Keep unique lines of text and remove duplicates from current selection. Also includes a command to shuffle currently selected lines.

Visual Studio IntelliCode

The Visual Studio IntelliCode extension provides AI-assisted development features for Python, TypeScript/JavaScript and Java developers in Visual Studio Code, with insights based on understanding your code context combined with machine learning.

HTML/CSS/JS/React Specific Extensions

Auto Rename Tag

Automatically rename paired HTML/XML tag.

Auto Rename Tag

ES7 React/Redux/GraphQL/React-Native snippets

This extension provides you JavaScript and React/Redux snippets in ES7 with Babel plugin features for VS Code.

Plenty of useful snippets! Highlights:

import {} from '' where the cursor starts at the path.
const [foo, setFoo] = useState(null)with proper uppercasing of what’s after set.

ESLint

Integrates ESLint into VS Code.

eslint-disable-snippets

Includes snippets for ignoring; a block, the current line, or the next line.

glean

Allows extracting typescript and javascript code into separate module, as well as extracting JSX into new components

htmltagwrap

Wraps selected code with HTML tags. A feature I really missed from TextMate.

javascript console utils

Help insert and remove console.(*) statements.

Jest Snippets

Code snippets for testing framework Jest.

npm Intellisense

Visual Studio Code plugin that autocompletes npm modules in import statements.

Prettier — Code formatter

VS Code package to format your JavaScript / TypeScript / CSS using Prettier.

React Refactor

This simple extension provides refactor code actions for React developers.

Recompose your overgrown JSX without worrying about the given data. This extension will do the dirty work for you without breaking your code.

Template String Converter

Convert Javascript/Typescript quotes to backticks when ${ has been entered within a string

Version Lens

My Theme

Dracula Official

My all-time favorite theme.

Got more? Let me know in the comments!

Like this?

Hit the clap button 👏👏🏻👏🏼👏🏽👏🏾👏🏿 (as many times as you want!).

Follow me on Twitter — @elado, and check out my other productivity tools posts:

--

--

Elad Ossadon
Productivity Freak

Code junkie, productivity freak | Front End @ Lyft