Skip to content

Latest commit

 

History

History
1374 lines (869 loc) · 70.5 KB

vs-code.md

File metadata and controls

1374 lines (869 loc) · 70.5 KB

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

All you need to develop ahk scripts. Extension for interacting with ahk executables

AutoHotkey Manager

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.

Haskell

Shell

Java

JavaScript

See the difference between these two here

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

  • tslint - TSLint for Visual Studio Code
  • TypeScript Hero - Code outline view of your open TS, sort and organize your imports.

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

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

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"
  }
}

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

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 - Linting, auto-completion, code formatting, snippets and more

Terraform

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

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

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

An extension to quickly generate test files.

Create tests extension animation

Commands for upload or copy files of a workspace to a destination.

Upload/copy files animation

Ability to duplicate files and directories.

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

error lens demo gif

Provides Javascript and React/Redux snippets in ES7

es7-reactreduxgraphqlreact-native-snippets

Generating .gitignore files made easy.

.gitignore generation animation

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

View git log, file or line History

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

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

Atom-like git indicators on active panel

git added indicator screenshot git removed indicator screenshot git modified indicator screenshot

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. Have a look at the README.md on how to get started with the setup for this extension.

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

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.

GitLab Workflow

Run gradle tasks in VS Code.

Gradle Tasks

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

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.

Import Cost Screenshot

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

Provides annotations on function calls in JS/TS files to provide parameter names to arguments.

JS Parameter Annotations

Provides fast cursor movement, inspired by Atom's package of the same name.

Jumpy

kanban

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

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

live-server

Override the regular Copy and Cut commands to keep selections in a clipboard ring

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

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

🌍 All in one i18n extension for VSCode

i18n Ally

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

Instant Markdown Screencast

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

npm-intellisense

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

Partial Diff

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

Paste JSON as Code

Visual Studio Code plugin that autocompletes filenames

Autocompletion for filenames animation

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

Power Tools

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

PrintCode

Easily switch between projects.

Switch between projects screenshot

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

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

Allow user to edit files from Remote server in Visual Studio Code directly.

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

Send HTTP request and view response animation

Synchronize settings, snippets, themes, file icons, launch, key bindings, workspaces and extensions across multiple machines using GitHub Gist

Settings Sync

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

Todo Tree

Cycle between single, double and backtick quotes

Toggle Quotes

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

Scaffold projects using Yeoman

Using yeoman animation

Formatting & Beautification

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

Automatically add HTML/XML close tag, same as Visual Studio IDE or Sublime Text

Automatically add close tags animation

Auto rename paired HTML/XML tags

Auto rename paired HTML/XML tags animation

Beautify code in place for VS Code

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

Transform quotes of ECMAScript string literals

Transform quotes of ECMAScript string literals animation

Paste code with "correct" indentation

Indentation of pasted code animation

Sorts lines of text in specific order

Sorts lines of text in specific order animation

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

Wrap a template around a code block

Wraps selection or multiple selections with symbol or multiple symbols

Wraps selection or multiple selections with symbol or multiple symbols animation

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

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

Automatically finds, parses and provides code actions and code completion for all available imports. Works with Typescript and TSX.

Auto import

shell script & Dockerfile & dotenv format

shell-format

Quickly translate selected text right in your code

Vscode Google Translate

Explorer Icons

City Lights Icons

VSCode Icons

Seti Icons

Material Icon Theme

Uncategorized

A VS Code extension to generate ascii tree of directories or format selected text to tree strings.

Ascii Tree Generator Demo

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

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

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

Code Time

Highlight web colors in your editor

Highlight web colors in your editor screenshot

Syntax highlighting for the VS Code Output Panel and log files

IBM.output-colorizer

Dash integration in Visual Studio Code

Dash integration screenshot

Leverage your favourite shell commands to edit text

Edit with Shell Command

Editor Config for VS Code

Auto-sync your work to remote FTP server

Auto-sync your work to remote FTP server animation

Highlights matching tags in the file.

A simple extension to make indentation more readable.

indent-rainbow

An open source ecosystem for IoT development: supports 350+ embedded boards, 20+ development platforms, 10+ frameworks. Arduino and ARM mbed compatible.

Build using platformio animation

Polaroid for your code 📸.

Make a polaroid image of your code animation

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

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

Multi protocol support for things, like Azure blobs, S3 buckets, Dropbox, (S)FTP or WebDAV files, by using new FileSystem API, especially for accessing resources like local files and folders in the editor as workspace folders.

Remote Workspace animation

Run various scripts right from VS Code

Run various scripts right from VS Code animation

Send messages and code snippets, upload files to Slack

Send messages or code snippets to Slack animation

Add a smooth typing animation, similar to MS Office and the Windows 10 Mail app.

SmoothType Animation

Provides integration with Spotify Desktop client. Shows the currently playing song in status bar, search lyrics and provides commands for controlling Spotify with buttons and hotkeys.

vscode-spotify

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

SVG

View an SVG in the editor and export it as data URI scheme or PNG.

SVG Viewer

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)

Quickly bring up helpful MDN documentation in the editor

ESDOC MDN

Interface generator (Typescript)

Quickly generate interface definitions from typescript class

Interface generator

Themes

UI

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

Syntax

Cyberpunk 2077 inspired theme

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

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

One Dark Theme based on Atom.

A detailed and accurate Atom One Dark Theme.

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

Tuff but sweet theme.

🏙 Yummygum's Official City Lights suite

🔥 Official theme by Wes Bos.

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

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

A colorful and semantic coloring code theme.

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

GitHub Theme for Visual Studio Code.

Jellybeans Theme for Visual Studio Code.

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

The most epic theme now for Visual Studio Code.

Minimal monochrome theme.

Monokai inspired theme for Visual Studio Code and Visual Studio IDE.

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

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

A simple theme.

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

Collection of 320+ beautiful syntax and UI themes.

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

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

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

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

Tinacious Design Syntax is a syntax theme that uses a bright palette of colours including pink, blue, turquoise, green, purple, and orange.

Dark

Light

People to Follow

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

Resources for extension developers

Documentation

Libraries

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 for Visual Studio Code - This extension for Visual Studio Code gives Azure developers some convenient commands for creating or accessing resources directly in the editor.

azure-tools-vscode

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