Last updated March 27, 2019, 7:42 p.m. by Author
As you might have already noticed, VSCode (in a form of a FLOSS VSCodium build) is my favourite IDE. Some may argue that it is not a real IDE, but merely an advanced text editor. But in my opinion, after installing a number of extensions, it becomes almost a full fledged IDE with a very rich functionality. Additionally, despite being an Electron based application, it is quite lightweight and responsive (in contrast to for example Atom, which is very slow and resource intensive).
Below you can find a extensive and regularly updated list of the recommended Visual Studio Code extensions. It is heavily skewed towards Python and web development, because I use it to code in Python, plus I have written this website using Django in my spare time.
As usual, if you have any suggestions or would like to let me know about an interesting extension that is not present here, or maybe some of the extensions listed below are deprecated because their functionality has been already implemented into VSCode, please let me know.
Because the list is periodically updated, if you want to stay up to date with the latest additions and deletions, you can use the Web Pages Scanner extension to be notified about any changes made here.
Release Notes 2.3.1 Isoetes taiwanensis.
A Visual Studio Codeextension with rich support for the Python language (for all actively supported versions of the language: 2.7, >=3.4), including features such as linting, debugging, IntelliSense, code navigation, code formatting, refactoring, unit tests, snippets, and more!
An essential extension when coding in Python.
Python Extended is a vscode snippet that makes it easy to write codes in python by providing completion options along with all arguments.
Visual Studio Code extension to quickly generate docstrings for python functions.
This Visual Studio Code extension allows to find unresolved symbols in your Python code and helps to import them.
The Visual Studio IntelliCode extension provides AI-assisted productivity features for Python, TypeScript/JavaScript and Java developers in Visual Studio Code, with insights based on understanding your code context combined with machine learning.
Beautiful syntax and scoped snippets for perfectionists with deadlines.
Improved syntax:
django-html
django-txt
for email templates.as
, asvar
, with
, trimmed
…Note that according to the reviews:
Breaks auto-indent, auto complete html tags, auto-closing html tags. All the nice things about this extension are greatly overshadowed by all the essential functionality that it breaks.
I really love the snippets provided for templates, it really makes easy to write Django-specific syntax; but the fact the HTML tags themselves are not recognized for auto-closing and auto-indent is a huge letdown, th productivity I gain from the django templates is basically nullified by having to open, write and close every HTML tag I need to use.
A collection of snippets for django templates, models, views, fields & forms. Ported from Djaneiro for SublimeText.
Missing CSS support for HTML documents.
Features:
Supported Languages:
Automatically rename paired HTML/XML tag, same as Visual Studio IDE does.
Automatically add HTML/XML close tag, same as Visual Studio IDE or Sublime Text does.
Note:
From VS Code 1.16, it has built-in close tag support for HTML, Handlebars and Razor files. This extension is enabled for other languages like XML, PHP, Vue, JavaScript, TypeScript, JSX, TSX and so on. It is configurable.
Features:
This extension allows you to preview your html files in VS Code itself. Use it to quickly set the html and css right for your webpages.
Note: Javascript is not supported in preview.
A Visual Studio Code extension that provides CSS class name completion for the HTML class
attribute based on the definitions found in your workspace or external files referenced through the link
element.
Features:
link
elements in HTML filesSupported Language Modes:
This extension extends HTML and ejs code editing with Go To Definition
and Go To Symbol in Workspace
support for css/scss/less (classes and IDs) found in strings within the source code.
This was heavily inspired by a similar feature in Brackets called CSS Inline Editors.
Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, Lisp, and custom command.
Features:
Reformats code comments and other text to a given line length.
Features:
It helps you to navigate in your code, moving between important positions easily and quickly. No more need to search for code. It also supports a set of selection commands, which allows you to select bookmarked lines and regions between bookmarked lines. It's really useful for log file analysis.
Since version 9 you can also define Labels for you bookmarks!
Here are some of the features that Bookmarks provides:
Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.
Key Features
It Syncs
All extensions and complete User Folder that Contains:
- Settings File
- Keybinding File
- Launch File
- Snippets Folder
- VSCode Extensions & Extensions Configurations
- Workspaces Folder
This extension allows matching brackets to be identified with colours. The user can define which characters to match, and which colours to use.
Guides is simply an extension that add various indentation guide lines
How Guides different from built-in indentation guides?
If you just want simple indentation guides, Guides kindly recommended that you use built-in indentation guides instead.
Language extension for VSCode/Bluemix Code that adds syntax colorization for both the output/debug/extensions panel and *.log
files.
Note: If you are using other extensions that colorize the output panel, it could override and disable this extension.
Colorization should work with most themes because it uses common theme token style names. It also works with most instances of the output panel. Initially attempts to match common literals (strings, dates, numbers, guids) and warning|info|error|server|local messages.
Visual Studio Code plugin that autocompletes filenames.
Provides path completion for visual studio code.
Features:
path-autocomplete.excludedItems
optionpath-autocomplete.pathMappings
optionpath-autocomplete.transformations
path-autocomplete.useBackslash
Features:
The Better Comments extension will help you create more human-friendly comments in your code.
With this extension, you will be able to categorise your annotations into:
An extension that allows you to highlight trailing spaces and delete them in a flash.
This extension is a port of the popular Sublime Text plugin Trailing Spaces.
Real-time collaborative development from the comfort of your favorite tools.
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. It allows you to instantly (and securely) share your current project, and then as needed, share debugging sessions, terminal instances, localhost web apps, voice calls, and more! Developers that join your sessions recieve all of their editor context from your environment (e.g. language services, debugging), which ensures they can start productively collaborating immediately, without needing to clone any repos or install any SDKs.
Additionally, unlike traditional pair programming, Visual Studio Live Share allows developers to work together, while retaining their personal editor preferences (e.g. theme, keybindings), as well as having their own cursor. This allows you to seamlessly transition between following one another, and being able to explore ideas/tasks on your own. In practice, this ability to work together and independently provides a collaboration experience that is potentiallty more natural for many common use cases.
Adds audio calling capabilities to Visual Studio Live Share.
Visual Studio Live Share Audio enhances the existing Visual Studio Live Share experience, by enabling you to quickly spin up an audio call directly from within Visual Studio Code, without needing to use a separate tool or service. Participants within a Live Share session can automatically join the call, and chat amongst each other, without needing to first coordinate which voice communication tool to use. For certain use cases (e.g. online training/mentoring, hack-a-thons), this can dramatically help reduce the barriers for collaboration.
Collection of extensions that enable real-time collaborative development with VS Live Share.
This extension pack includes everything you need to start collaboratively editing and debugging in real time, including integrated audio and text chat. This provides you and your team/class with a one-click installation, in order to begin pair programming, performing remote code reviews, driving interactive lectures, and more, without needing to leave Visual Studio Code.
An Interactive Programming Experience for Data Scientists
neuron is a robust application that seamlessly combines the power of Visual Studio Code with the interactivity of Jupyter Notebook.
Main features:
View Excel spreadsheets and CSV files within Visual Studio Code workspaces.
Powered by Wijmo, this extension provides read-only viewers for CSV files and Excel spreadsheets within the current Visual Studio Code workspace.
VSCode extension to explore and query SQLite databases.
Features:
json
, csv
and html
.SQLite: Use Database
)sqlite
. You can mark a document as an sqlite
document adding -- sqlite
in the first line.All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more).
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.
This extension convert Markdown file to pdf, html, png or jpeg file.
Markdown linting and style checking for Visual Studio Code.
The Markdown markup language is designed to be easy to read, write, and understand. It succeeds - and its flexibility is both a benefit and a drawback. Many styles are possible, so formatting can be inconsistent. Some constructs don't work well in all parsers and should be avoided. For example, here are some common/troublesome Markdown constructs.
markdownlint is a Visual Studio Code extension that includes a library of rules to encourage standards and consistency for Markdown files. It is powered by markdownlint for Node.js which is based on markdownlint for Ruby.
Changes VS Code's built-in markdown preview to match Github's styling.
Adds Mermaid diagram and flowchart support to VS Code's builtin markdown preview.
Atom's iconic One Dark theme, and one of the most downloaded themes for VS Code.
I am a dark theme person and after checking out dozens of different themes, I have settled for this one. In my subjective opinion this is the best dark theme out there.
A light theme for people who are used to the default Notepad++ theme.
The Material Icon Theme provides lots of icons based on Material Design for Visual Studio Code.
In my opinion, this is the nicest icon theme for VSCode.
Your code is powerful, unleash it! The extension made popular by Code in the Dark has finally made its way to VS Code.
I love this one. Adds some visual candy when typing code in the editor.
Rich PlantUML support for Visual Studio Code.
My favourite programming font that supports monospaced ligatures. Currently I use it exclusively when coding.
Monospaced font with programming ligatures.
Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like ..
or //
, ligatures allow us to correct spacing.
Related