VSCode Insiders 2017 Review - Coming from Emacs

1 April, 2017

How I set up VSCode

  • I hit C-S-p, selected color theme and chose Solarized Dark
  • C-,, opened settings where I set the font Hasklig, and enabled font ligatures.
  • Installed extensions relevant for the programming modes I use.

Things I immediately miss from Emacs:

  • dired
  • the minibuffer, e.g. open a file from minibuffer.

Customization

  • Coming from Emacs, I have the notion that mostly anything that can be thought up can ultimately be customized (via Emacs-Lisp)1,

Things I sort of miss from Emacs

  • org-mode - Always having your note taking tool available (e.g. org-capture).

Things I like about VSCode

  • Built in Zen mode. I like keeping my screen clear from everything but the text sometimes.
  • Section folding built in.
  • The settings configuration mode. It's quite minimal and smart. Focus in on creating a distributable text file for settings.
  • Markdown preview built in.

Things I strongly dislike about VSCode

  • The hard blue color of the status bar can not be themed as of writing, I read this is about to soon be changed though.

Working in Haskell

  • Working in the programming language Haskell with some extensions, depending on Intero seems to work fine. Terminal integration is nice and auto completion in GHCi does work.

Performance

  • In comparison to Atom editor (or LightTable), VSCode launches much faster and seems to perform a lot better. I am surprised that a program based on Electron can perform this well.

What you're giving up when moving from Emacs to VSCode

  • Using the mouse. Emacs doesn't need one. VSCode will sometimes need mouse interaction. This can impact workflow.

What's to be gained from using VScode over Emacs

  • Fonts may look better.
  • Performance may be more reliable.

Conclusion,

  • I'm seriously impressed by how mature of an editor VSCode is. I really think they should replace the default "open file" panes with something better (compare Emacs minibuffer, ido and such). I had tried Atom and managed to customize it to a functioning state, but really slow startup times and performance reliability made that editor feel bloated and unacceptably slow and I went back to GNU Emacs.
  • The performance characteristics of GNU Emacs running on Windows are however quite poor in my experience and I even looked at minimal retro editors such as micro-emacs to always have a fast reliable text editor which always start up in under a second. MicroEmacs achieve that but the downsides are many - apart from all the possible functionality one gives up, making text look decent can be very hard, near impossible. Perhaps running a microEmacs in a good terminal emulator is a smart choice, but if you're on Windows for whatever reason, there really isn't a good terminal emulator available.

Update, April 1st, 2017:

  • For quickly opening files, there are extensions such as:
    • Hive Opener
    • Quick Open (I just bind this to C-o keyboard shortcut.)
    • See [https://github.com/rainbyte/haskell-ide-chart](this helpful chart) for an overview of the level of Haskell support in various editors..

Update, April 2nd, 2017:

  • The [https://github.com/Microsoft/vscode/issues/1884#issuecomment-290940262](status bar color can now be themed)! VSCode looks really good now.

  1. Of course, the limitation of emacs-lisp are there. Some things in Emacs are after all decided in compiled C code.