Skip to content

Instantly share code, notes, and snippets.

@loganintech
Created September 22, 2017 18:46
Show Gist options
  • Save loganintech/9f4e7a39c59fb403cafd559d2a3df4a4 to your computer and use it in GitHub Desktop.
Save loganintech/9f4e7a39c59fb403cafd559d2a3df4a4 to your computer and use it in GitHub Desktop.
This is why I use VSCode over other text editors :)

Description

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.

Features

  • Beautiful and Customizable UI

Long .gif, click me!

  • Native Emmet Support

  • Code Peeking (works best with TypeScript)

  • Easy to Start and Use Debugging

Long .gif, click me!

  • 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

Notes

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

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:

GitLens preview

Line Blame Annotation

Line Blame Annotations

File Blame Annotation

Git Code Lens

  • And one of mine:

Settings Sync Shan.code-settings-sync

Syncs your settings accross multiple installs using github gists. If you use multiple computers this is a must.

Auto Close Tag formulahendry.auto-close-tag

Automatically closes HTML tags (like in webstorm)

Auto Rename Tag formulahendry.auto-rename-tag

Another HTML Improvement

Bracket Pair Colorizer CoenraadS.bracket-pair-colorizer

Colors matching brackets in code

Code Runner formulahendry.code-runner

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

Dash Integration deerawan.vscode-dash

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.

Docset search .gif, click me!

Debugger for Chrome msjsdiag.debugger-for-chrome

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.

ESLint Support dbaeumer.vscode-eslint

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:

Editorconfig Support EditorConfig.editorconfig

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment