Skip to content

Visual Studio Code



A curated list of delightful Visual Studio Code packages and resources. For more awesomeness, check out awesome.

Awesome Links Status


Official

Syntax

Language packages extend the editor with syntax highlighting and/or snippets for a specific language or file format.

Migrating from other editors

The VSCode team provides keymaps from popular editors, making the transition to VSCode almost seamless and easy.

Migrating from Vim

Vim Mode - The most popular Vim emulation for VS Code: modal editing, motions, and support for many popular Vim plugins.

Migrating from Atom

Popular Atom key bindings for Visual Studio Code

Migrating from Sublime Text

Popular Sublime Text key bindings for VS Code.

Migrating from Visual Studio

Popular Visual Studio key bindings for VS Code.

Migrating from Intellij IDEA

Popular Intellij IDEA key bindings for VS Code.

Migrating from Xcode

Popular Xcode key bindings for VS Code.

Camel Humps

Like with Visual Studio and Resharper or Intellij IDEA

Using VS Code with particular technologies

Microsoft created a collection of recipes for using VS Code with particular technologies (mostly Web).

Make sure to visit it at Microsoft/vscode-recipes

Lint and IntelliSense

In case the awesome nirvana that is linting has not yet been unleashed upon you:

lint was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code. The term is now applied generically to tools that flag suspicious usage in software written in any computer language.

Unlike some other editors, VS Code supports IntelliSense, linting, outline out-of-the-box and doesn't require any separate extension to run linter packages. Some linters are already integrated in VS Code, you can find the full list in the official documentation, Languages section.

1C

  • 1C/OScript - rich 1С:Enterprise 8 (BSL) language support in VSC - add syntax highlighting to .bsl и .os files in VSC, add IntelliSense and syntax helper for 1С lang

AutoHotkey

AutoHotkey Plus

Syntax Highlighting, Snippets, Go to Definition, Signature helper and Code formatter

Bash

Bash IDE

A language server for Bash

Bash Debug

A debugger extension for Bash scripts based on bashdb

Bash Debug

Shellman

Bash script snippets extension

Shellman

C++

  • C/C++ - C/C++ IntelliSense, debugging and code browsing by Microsoft; see the official docs
  • Clangd - Provides C/C++ language IDE features for VS Code using clangd: code completion, compile errors and warnings, go-to-definition and cross references, include management, code formatting, simple refactorings.
  • gnu-global-tags - Provide Intellisense for C/C++ with the help of the GNU Global tool.

More

C#, ASP .NET and .NET Core

.NET Core Test Explorer

Clojure

Calva

Integrated REPL, linting, inline eval, test runner, and more. Powered by Cider & nRepl.

Calva

CSS

CSS Peek

Peek or Jump to a CSS definition directly from HTML, just like in Brackets!

CSS Peek

Intellisense CSS class names

Go

  • Go - Rich language support for the Go language.

Groovy

VsCode Groovy Lint

Haskell

  • Haskell - Official Haskell support powered by the Haskell Language Server (HLS); supersedes the former Haskell IDE Engine and haskell-linter.

HLSL

  • HLSL Tools - provides rich language support for editing HLSL files in VS Code Example of statement completion using HLSL Tools for VS Code

Shell

Java

JavaScript

TS/JS postfix completion demo

See the difference between these two here

Linters

Framework-specific

  • Vue - Official - Official Vue language support (Volar). Supersedes Vetur, which is now in maintenance mode.

Debugger for Chrome

⚠️ Deprecated — debugging JavaScript in Chrome/Edge is now built into VS Code via the bundled JavaScript Debugger, so this extension is no longer needed.

Facebook Flow

  • Flow Language Support - provides all the functionality you would expect — linting, intellisense, type tooltips and click-to-definition
  • vscode-flow-ide - an alternative Flowtype extension for Visual Studio Code

TypeScript

MATLAB

This extension provides support for editing MATLAB® code in Visual Studio® Code and includes features such as syntax highlighting, code analysis, navigation support, and more.

Without MATLAB installed: - Syntax highlighting - Code snippets - Commenting - Code folding

Without MATLAB Installed

With MATLAB installed: - Automatic code completion - Source code formatting (document formatting) - Code navigation - Code analysis, such as continuous code checking and automatic fixes

MATLAB Installed

Markdown

markdownlint

Linter for markdownlint.

Markdown All in One

All-in-one markdown plugin (keyboard shortcuts, table of contents, auto preview, list editing and more)

Markdown All in One

Markdown Emoji

Adds emoji syntax support to VS Code's built-in Markdown preview

Markdown Emoji

MEO

A markdown editor with a single-tab live/source toggle for distraction-free writing.

PHP

PHP Tools

Rich language support for the PHP language: linting, debugging, intellisense, auto-completion, code formatting, refactoring, unit testing, profiling, and more.

PHP Tools Intellisense demo screenshot

IntelliSense

  • PHP Intelephense - The de-facto standard PHP language server: autocompletion, diagnostics, go-to-definition and more. (The former PHP IntelliSense by felixfbecker is deprecated.)

Laravel

Laravel blade snippets and syntax highlight support animation

Laravel Model Snippets animation

Laravel Artisan commands within Visual Studio Code animation

  • DotENV - Support for dotenv file syntax

Support for dotenv file syntax screenshot

  • Laravel Pint - Run and configure Laravel Pint, the opinionated PHP code-style fixer for Laravel.

Twig

To enable Emmet support in .twig files, you'll need to have the following in your settings:

{
  "emmet.includeLanguages": {
    "twig": "html"
  }
}

Smarty

Smarty Template Support

Smarty template support with formatting, folding, snippets, syntax highlighting and more.

Smarty Template Support

Other extensions

  • Format HTML in PHP - Formatting for the HTML in PHP files. Runs before the save action so you can still have a PHP formatter.

Format HTML in PHP

Read more

POV-Ray

  • POV-Ray - Persistence of Vision Ray Tracer (POV-Ray) Extension, includes Syntax Highlighting and Snippets for common POV-Ray scene elements, Render the current scene from within Visual Studio Code

Animated GIF of POV-Ray in Visual Studio Code

Python

  • Python - Linting, Debugging (multi threaded, web apps), Intellisense, auto-completion, code formatting, snippets, unit testing, and more.

TensorFlow

  • TensorFlow Snippets - This extension includes a set of useful code snippets for developing TensorFlow models in Visual Studio Code.

ReasonML

  • ReasonML - Intellisense, code formatting, refactoring, code lens and more

Ruby

  • endwise - Automatically add end to Ruby code blocks as you type.

Rust

  • rust-analyzer - Linting, auto-completion, code formatting, snippets and more

Terraform

  • Terraform - Syntax highlighting, linting, formatting, and validation for Hashicorp's Terraform

GitHub

GitHub Pull Requests and Issues

Review and manage GitHub pull requests and issues

GistPad

Allows you to manage GitHub Gists entirely within the editor. You can open, create, delete, fork, star and clone gists, and then seamlessly begin editing files as if they were local. It's like your very own developer library for building and referencing code snippets, commonly used config/scripts, programming-related notes/documentation, and interactive samples.

GistPad gist management

GitHub Actions

Shows GitHub Actions workflows and runs

GitHub Repositories

Remotely browse and edit any GitHub repository

GitHub Pull Request Monitor

This extension uses the GitHub api to monitor the state of your pull requests and let you know when it's time to merge or if someone requested changes.

GitHub Pull Request Monitor

Productivity

ARM Template Viewer

Displays a graphical preview of Azure Resource Manager (ARM) templates. The view will show all resources with the official Azure icons and also linkage between the resources.

Displays a graphical preview of Azure Resource Manager (ARM) templates

Azure Cosmos DB

Browse your database inside the vs code editor

Browse your database inside the vs code editor animation

Azure IoT Toolkit

Everything you need for the Azure IoT development: Interact with Azure IoT Hub, manage devices connected to Azure IoT Hub, and develop with code snippets for Azure IoT Hub

Code snippets for Azure IoT Hub screenshot

Bookmarks

Mark lines and jump to them

Microsoft Edge Tools

Use the Microsoft Edge browser's DevTools (Elements, Network, Console) and an in-editor browser preview directly inside VS Code.

Color Tabs

An extension for big projects or monorepos that colors your tab/titlebar based on the current package

Color your tabs and/or titlebar based on regex

Create tests

An extension to quickly generate test files.

Create tests extension animation

Dendron

An extension that can turn Visual Studio Code into a PKM tool, with excellent UX, using Markdown files to organize and reference any amount of knowledge. Whether you organize your notes with PARA or Zettelkasten, link notes together like Roam, or simply create notes in an ad-hoc manner, Dendron can help. Think of it as a second brain to help you make sense of all the information you care about. Bonus: Dendron can also publish a static site via NextJS if also using dendron-cli.

dendron.dendron

Duplicate Action

Ability to duplicate files and directories.

Error Lens

Show language diagnostics inline (errors/warnings/...).

error lens demo gif

Toggle

Toggle any VS Code setting by your favorite keybindings.

Example of toggling typescript.inlayHints.functionLikeReturnTypes.enabled by shortcut:

Toggle example demo

ES7 React/Redux/GraphQL/React-Native snippets

Provides Javascript and React/Redux snippets in ES7

es7-reactreduxgraphqlreact-native-snippets

Gi

Generating .gitignore files made easy.

.gitignore generation animation

Git History

View git log, file or line History

Git Project Manager

Automatically indexes your git projects and lets you easily toggle between them

GoTo current file's online link in browser and Copy the link in clipboard.

GoTo current file online animation

GitLens

Provides Git CodeLens information (most recent commit, # of authors), on-demand inline blame annotations, status bar blame information, file and blame history explorers, and commands to compare changes with the working tree or previous versions.

GitLens inline git information animation

GitLab Workflow

Adds a GitLab sidebar icon to view issues, merge requests and other GitLab resources. You can also view the results of your GitLab CI/CD pipeline and check the syntax of your .gitlab-ci.yml.

Gradle Tasks

Run gradle tasks in VS Code.

Gradle Tasks

Icon Fonts

Snippets for popular icon fonts such as Font Awesome, Ionicons, Glyphicons, Octicons, Material Design Icons and many more!

Import Cost

This extension will display inline in the editor the size of the imported package. The extension utilizes webpack with babili-webpack-plugin in order to detect the imported size.

Jira and Bitbucket

Bringing the power of Jira and Bitbucket to VS Code - With Atlassian for VS Code you can create and view issues, start work on issues, create pull requests, do code reviews, start builds, get build statuses and more!

Jira and Bitbucket workflow

Find-Jump

Fast label-based cursor movement — jump to anywhere visible by typing a few characters (in the spirit of Atom's Jumpy).

Kanban

kanban

Simple Kanban board for use in Visual Studio Code, with time tracking and Markdown support.

Live Server

Launch a development local Server with live reload feature for static & dynamic pages.

live-server

Clipboard Manager

Keeps a history of your copies and cuts so you can pick any earlier entry to paste again.

ngrok for VSCode

ngrok allows you to expose a web server running on your local machine to the internet. Just tell ngrok what port your web server is listening on. This extension allows you to control ngrok from the VSCode command palette

ngrok for VSCode

Dotnet Core Test Explorer

View and run your .NET Core tests directly in the editor.

View and run your .NET Core tests directly in the editor animation

i18n Ally

🌍 All in one i18n extension for VSCode

i18n Ally

Instant Markdown

Simply, edit markdown documents in vscode and instantly preview it in your browser as you type.

Instant Markdown Screencast

npm Intellisense

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

npm-intellisense

Parameter Hints

Provides parameter hints on function calls in JS/TS/PHP files.

Parameter Hints

Partial Diff

Compare (diff) text selections within a file, across different files, or to the clipboard

Partial Diff

Paste JSON as Code

Infer the structure of JSON and paste is as types in many programming languages

Paste JSON as Code

Path Autocomplete

Provides path completion for visual studio code.

Path Autocomplete

Path IntelliSense

Visual Studio Code plugin that autocompletes filenames

Autocompletion for filenames animation

Power Tools

Extends Visual Studio Code via things like Node.js based scripts or shell commands, without writing separate extensions

Power Tools

PrintCode

PrintCode converts the code being edited into an HTML file, displays it by browser and prints it.

PrintCode

Project Manager

Easily switch between projects.

Switch between projects screenshot

Project Dashboard

VSCode Project Dashboard is a Visual Studio Code extension that lets you organize your projects in a speed-dial like manner. Pin your frequently visited folders, files, and SSH remotes onto a dashboard to access them quickly.

Project Dashboard

Rainbow CSV

Highlight columns in comma, tab, semicolon and pipe separated files, consistency check and linting with CSVLint, multi-cursor column editing, column trimming and realignment, and SQL-style querying with RBQL.

Rainbow CSV

Remote Development

Allows users to open any folder in a container, on a remote machine, container or in Windows Subsystem for Linux(WSL) and take advantage of VS Code's full feature set.

Remote SSH extension at work

REST Client

Allows you to send HTTP request and view the response in Visual Studio Code directly.

Send HTTP request and view response animation

Text Power Tools

All-in-one extension for text manipulation: filtering (grep), remove lines, insert number sequences and GUIDs, format content as table, change case, converting numbers and more. Great for finding information in logs and manipulating text.

Text Power Tools

Todo Tree

Custom keywords, highlighting, and colors for TODO comments. As well as a sidebar to view all your current tags.

Todo Tree

Toggle Quotes

Cycle between single, double and backtick quotes

Toggle Quotes

Typescript Destructure

TypeScript Language Service Plugin providing a set of source actions for easy objects destructuring

Typescript Destructure

WakaTime

Automatic time tracker and productivity dashboard showing how long you coded in each project, file, branch, and language.

Timing

Time converter extension to convert timestamps from/to various formats and insert them on demand or just display them. It further provides a neat hover provider to beautify epoch timestamps instantly. All features are highly customizable.

Timing

httpYac

Send HTTP, REST, GraphQL, gRPC, WebSocket and MQTT requests directly from VS Code.

DevDb

A zero-config database GUI that auto-loads and lets you browse your database directly inside VS Code.

Keploy

Generate unit tests and API tests with mocks from your application traffic.

SemanticDiff

Language-aware diffs that ignore formatting-only changes and highlight the meaningful edits.

Trunk

Meta-linter and formatter that runs and manages many linters/formatters from one config, plus check, test and merge tooling.

Peacock

Subtly change the color of your VS Code workspace — ideal for telling apart identical windows or monorepo projects.

GitHub Copilot

AI pair programmer that suggests whole lines and functions as you type, with an in-editor chat.

Formatting & Beautification

Better Align

Align your code by colon(:), assignment(=,+=,-=,*=,/=) and arrow(=>). It has additional support for comma-first coding style and trailing comment.

And it doesn't require you to select what to be aligned, the extension will figure it out by itself.

Better Align

Auto Rename Tag

Native settings, just add "editor.linkedEditing": true to your settings.json file

Auto rename paired HTML/XML tags

Auto rename paired HTML/XML tags animation

html2pug

Transform html to pug inside your Visual Studio Code, forget about using an external page anymore.

Paste and Indent

Paste code with "correct" indentation

Indentation of pasted code animation

Sort Lines

Sorts lines of text in specific order

Sorts lines of text in specific order animation

Surround

A simple yet powerful extension to add wrapper templates around your code blocks.

Wrap a template around a code block

Wrap Selection

Wraps selection or multiple selections with symbol or multiple symbols

Wraps selection or multiple selections with symbol or multiple symbols animation

Formatting Toggle

Allows you to toggle your formatter on and off with a simple click

shell-format

shell script & Dockerfile & dotenv format

shell-format

Vscode Google Translate

Quickly translate selected text right in your code

Vscode Google Translate

Explorer Icons

City Lights Icons

City Lights Icons

VSCode Icons

VSCode Icons

Seti Icons

Seti Icons

Material Icon Theme

Material Icon Theme

Uncategorized

CodeRoad

Play interactive tutorials in your favorite editor.

CodeRoad Demo

Code Runner

Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, C# Script, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script

Run a snippet or file animation

Code Time

Automatic time reports by project and other programming metrics right in VS Code.

Code Time

Color Highlight

Highlight web colors in your editor

Highlight web colors in your editor screenshot

Output Colorizer

Syntax highlighting for the VS Code Output Panel and log files

IBM.output-colorizer

Dash

Dash integration in Visual Studio Code

Dash integration screenshot

Edit with Shell Command

Leverage your favourite shell commands to edit text

Edit with Shell Command

Editor Config for VS Code

Editor Config for VS Code

SFTP

Sync files to a remote server over SFTP/FTP, with upload-on-save, diff and remote browsing. Maintained successor to the original liximomo SFTP extension.

Highlight JSX/HTML tags

Highlights matching tags in the file.

Indent Rainbow

A simple extension to make indentation more readable.

indent-rainbow

iTerm2 Theme Sync

Syncs selected VSCode theme with iTerm2 color profile

iTerm2 Theme Sync

Password Generator

Create a secure password using our generator tool. Help prevent a security threat by getting a strong password today.

Password Generator

PlatformIO IDE

The official PlatformIO IDE: a cross-platform ecosystem for embedded/IoT development supporting 1000+ boards and many platforms and frameworks, with build, debug and unit testing.

Polacode

Polaroid for your code 📸.

Make a polaroid image of your code animation

carbon-now-sh

Send your code to carbon.now.sh. Send your code to carbon.now.sh animation

Quokka

Rapid prototyping playground for JavaScript and TypeScript in VS Code, with access to your project's files, inline reporting, code coverage and rich output formatting.

Integrated JavaScript/TypeScript playground animation

Runner

Run various scripts right from VS Code

Run various scripts right from VS Code animation

SVG

A Powerful SVG Language Support Extension(beta). Almost all the features you need to handle SVG.

SVG

Text Marker (Highlighter)

Highlight multiple text patterns with different colors at the same time. Highlighting a single text pattern can be done with the editor's search functionality, but it cannot highlight multiple patterns at the same time, and this is where this extension comes handy.

Text Marker (Highlighter)

Interface generator

Quickly generate interface definitions from typescript class

Interface generator

JFrog

Adds JFrog Xray scanning of project dependencies to your VS Code IDE. It allows developers to view panels displaying vulnerability information about the components and their dependencies directly in their VS Code IDE. The extension also allows developers to track the status of the code while it is being built, tested and scanned on the CI server.

JFrog

SARIF Explorer

Triage static-analysis results from SARIF files: view, group, filter and annotate findings. By Trail of Bits.

Document Viewer

View Word, Excel, PDF, Markdown and CSV files directly inside VS Code.

Themes

UI

If you're feeling brave, there are at least two custom UIs for VS Code:

Syntax

2077 theme by Endormi

Cyberpunk 2077 inspired theme

An Old Hope Theme by Dustin Sanders

VSCode theme inspired by a galaxy far far away...

Ariake Dark by wart

Dark VSCode theme inspired by Japanese traditional colors and the poetry composed 1000 years ago.

Atom One Dark Theme by Mahmoud Ali

One Dark Theme based on Atom.

Atomize by emroussel

A detailed and accurate Atom One Dark Theme.

Ayu by teabyii

A simple theme with bright colors and comes in three versions — dark, light and mirage for all day long comfortable work.

Borealis Theme by Alexander Eckert

VS Code theme inspired by the calm colors of the aurora borealis in Alaska.

Captain Sweetheart by ultradracula

Tuff but sweet theme.

City Lights by Yummygum

🏙 Yummygum's Official City Lights suite

Cobalt2 Theme Official by Wes Bos

🔥 Official theme by Wes Bos.

Dracula Official by Dracula Theme

Official Dracula Theme. A dark theme for many editors, shells, and more.

Edge by Bogdan Lazar

A simple theme with bright colors in three variants — Night Sky, Serene and Ocean for all day long comfortable work.

Eva Theme by fisheva

A colorful and semantic coloring code theme.

Fairy Floss by nopjmp and sailorhg

A fun, purple-based pastel/candy/daydream fairyfloss theme made by sailorhg.

GitHub Theme by Thomas Pink

GitHub Theme for Visual Studio Code.

Jellybeans Theme by Dimitar Nonov

Jellybeans Theme for Visual Studio Code.

Material Palenight Theme by whizkydee

An elegant and juicy material-like theme for Visual Studio Code.

Material Theme by Mattia Astorino

The most epic theme now for Visual Studio Code.

Mno by u29dc

Minimal monochrome theme.

Omni by Rocketseat

A dark theme with vibrant colors by Rocketseat.

One Monokai by azemoh

A popular free Monokai theme for Visual Studio Code, blending Monokai with Atom's One Dark.

Monokai Pro by monokai (commercial)

Beautiful functionality for professional developers, from the author of the original Monokai color scheme.

Night Owl by Sarah Drasner

A VS Code theme for the night owls out there. Works well in the daytime, too, but this theme is fine-tuned for those of us who like to code late into the night. Color choices have taken into consideration what is accessible to people with color blindness and in low-light circumstances. Decisions were also based on meaningful contrast for reading comprehension and for optimal razzle dazzle. ✨

Plastic by Will Stone

A simple theme.

Nord by arcticicestudio

An arctic, north-bluish clean and elegant Visual Studio Code theme.

Rainglow by Dayle Rees

Collection of 320+ beautiful syntax and UI themes.

Relaxed Theme by Michael Kühnel

A relaxed theme to take a more relaxed view of things.

Shades of Purple by Ahmad Awais

⚡ A professional theme with hand-picked & bold shades of purple 💜 to go along with your VS Code. A custom VS Code theme with style.

Slime Theme by smlombardi

A dark syntax/workbench theme for Visual Studio Code - optimized for SCSS, HTML, JS, TS, Markdown, and PHP files.

Niketa Theme by Dejan Toteff

Collection of 18 light themes separated in 4 groups by background's brightness.

People to Follow

A list of Twitter accounts for various people in the VS Code Community

Resources for extension developers

Documentation

Libraries

  • typed-vscode - Generates types from contribution points of your extension manifest

Tools

  • Live Share - Visual Studio Live Share enables you to collaboratively edit and debug with others in real time, regardless what programming languages you're using or app types you're building.
  • Online TextMate Themes Editor - since VS Code supports TextMate themes, you can create them in this online editor and then create a new VS Code package using Yo Code tool
  • Yo Code - Extension Generator
  • Open in Code - macOS Finder toolbar app to open current folder in Visual Studio Code

macOS Finder toolbar app to open current folder in Visual Studio Code animation

  • Themer - Easily create your own theme for VS Code (and matching ones for your other tools).
  • Azure Tools - Microsoft's official Azure extension pack, bundling the core Azure extensions for working with Azure resources directly from VS Code.

  • Mark down preview - Markdown Preview Enhanced is an extension that provides you with many useful functionalities such as automatic scroll sync, math typesetting, mermaid, PlantUML, pandoc, PDF export, code chunk, presentation writer, etc. A lot of its ideas are inspired by Markdown Preview Plus and RStudio Markdown.

Online Courses

Visual Studio Code Power User Course (commercial)

After 10 years with Sublime Text, Ahmad Awais switched to VSCode, built Shades of Purple theme, and spent over a 1,000 hours perfecting his setup. He has launched a VSCode Power User Course to help you switch today. You can bring all your custom settings from the previous editor and learn the power user workflows for HTML/CSS, Git/GitHub & Open Source, supercharged Markdown, and everything from JavaScript to PHP, Go, Python, C++, C#, ROR. In this course, you'll also learn to install/setup 50+ Extensions.

  • VSCode.pro - 📺 Huge five hours 65 videos VSCode course.
  • Ahmad Awais - 🙌 Creator of Shades of Purple theme. Core Developer for WP/JS. OSS Dev Advocate.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer (Microsoft).

CC0

To the extent possible under law, Valerii Iatsko has waived all copyright and related or neighboring rights to this work.