Visual Studio Code is an electron-based text editor written in TypeScript and intended for TypeScript development. It has support for TSLint and ESLint out of the box, and is very heavily geared towards modern development with extensions for every need. Extensions can be anything from special coloring of brackets, themes, or entire languages with debug support (see Java extension from RedHat). It has built-in git tools and a diff editor. Debugging is written to be simple and supports many languages. The C++ debugger is quite good.
- Beautiful and Customizable UI
- Native Emmet Support
- Code Peeking (works best with TypeScript)
- Easy to Start and Use Debugging
- Cross Platform
- Small Performance Impact (in comparison to full IDEs)
- Built-In Diff Editor
- Command Line Support for Easy-Opening and Creating Files and Workspaces
- Automagic Javscript Function Documentation
- Fuzzy File Searcher
- Feature-Rich Extensions
- You might want to go into user settings and disable telemetry. Not really a big issue, but...
Favorite Extensions - Web Dev Focused (Can be installed by running ext install author.extensionname
)
GitLens is one of the most impressive, heavily customizable extensions. It adds git blame, peeking, working tree comparison, and other visuals right in the editor.
- Following Images Shamelessly Stolen from GitLens README:
- And one of mine:
Syncs your settings accross multiple installs using github gists. If you use multiple computers this is a must.
Automatically closes HTML tags (like in webstorm)
Another HTML Improvement
Colors matching brackets in code
Runs a single code file by a right click menu, useful for running single C++ or JavaScript files
Compatible Languages as of 7/25/17
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, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D
Lets you run selections or custom text to dash queries without leaving the editor. I contributed some code to this :). Also lets you search based on current active language.
Lets you debug chrome tabs. Doesn't require an extension on chrome like WebStorm.
Debugger for chrome example .gif, click me!
Bonus points because the demo gif is in angular.
Gives support for ESLint in javascript files. Enforces rules like single or double quotes only, use of var vs let, or required semicolons. Very useful for keeping code style consistent.
For a full list of rules, see here: http://eslint.org/docs/rules/ I have also supplied an example config in this repository along with a javascript file to test said rules.
You can see eslint support in action in the JS Files. Make sure to npm install -g eslint
or just check out these screenshots:
This extension provides support for editorconfig, a tool used to standardize file and indent style (among other things). It's natively supported in the following editors:
BBEdit, Builder, GitHub (yes online), Gogs, PyCharm, IntelliJ IDEA, RubyMine, WebStorm, Komodo, SourceLair, TortoiseGit, and Visual Studio
You can download a plugin for it on these:
AppCode, Atom, Brackets, CLion, Coda, Code::Blocks, Eclipse, Emacs, Geany, gedit, jEdit, micro, NetBeans, Notepad++, PHPStorm, Sublime Text, Textadept, textmate, Vim, Xcode, and, clearly, VSCode :)
For a full list of rules you can see here: https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties