Skip to content

viatsko/awesome-vscode



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

Awesome Build Status


Table of Contents

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.

Vim Mode - Relatively new, but promising extension implementing Vim features in VSCode

Popular Atom key bindings for Visual Studio Code

Popular Sublime Text key bindings for VS Code.

Popular Visual Studio key bindings for VS Code.

Popular Intellij IDEA key bindings for VS Code.

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

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

Bash

A language server for Bash

A debugger extension for Bash scripts based on bashdb

Bash Debug

Bash script snippets extension

Shellman

C++

  • C/C++ - Preview C/C++ extension by Microsoft, read official blog post for the details
  • 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.
  • YouCompleteMe - Provides semantic completions for C/C++ (and TypeScript, JavaScript, Objective-C, Golang, Rust) using YouCompleteMe.
  • C/C++ Clang Command Adapter - Completion and Diagnostic for C/C++/Objective-C using Clang command.
  • CQuery - C/C++ language server supporting multi-million line code base, powered by libclang. Cross references, completion, diagnostics, semantic highlighting and more.

More

C#, ASP .NET and .NET Core

.NET Core Test Explorer

Clojure

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

Calva

CSS

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

CSS Peek

  • stylelint - Lint CSS/SCSS.

  • Autoprefixer Parse CSS,SCSS, LESS and add vendor prefixes automatically. Autoprefixer

  • Intellisense for CSS class names - Provides CSS class name completion for the HTML class attribute based on the CSS files in your workspace. Also supports React's className attribute.

    Intellisense CSS class names

Go

  • Go - Rich language support for the Go language.

Groovy

VsCode Groovy Lint

Haskell

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

  • Vetur - Toolkit for Vue.js Vetur

A VS Code extension to debug your JavaScript code in the Chrome browser, or other targets that support the Chrome Debugging Protocol.

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

A VS Code extension to debug your JavaScript code in the Chrome browser, or other targets that support the Chrome Debugging Protocol.

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

Linter for markdownlint.

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

Markdown All in One

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

Markdown Emoji

PHP

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

These extensions provide slightly different sets of features. While the first one offers better autocompletion support, the second one seems to have more features overall.

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

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 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.

TensorFlow Snippets GIF

ReasonML

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

Rust

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

Terraform

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

GitHub

Provides GitHub workflow support. For example browse project, issues, file (the current line), create and manage pull request. Support for other providers (e.g. gitlab or bitbucket) is planned.

Review and manage GitHub pull requests and issues

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

Shows GitHub Actions workflows and runs

Remotely browse and edit any GitHub repository

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

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

Browse your database inside the vs code editor

Browse your database inside the vs code editor animation

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

Mark lines and jump to them

Browser Preview for VS Code enables you to open a real browser preview inside your editor that you can debug. Browser Preview is powered by Chrome Headless, and works by starting a headless Chrome instance in a new process. This enables a secure way to render web content inside VS Code, and enables interesting features such as in-editor debugging and more!

Browser Preview Demo

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