What is the Visual Studio Code editor built on

Node WebkitAtom EditorVisual Studio-CodeElectron

Node Webkit Problem Overview


What underlying technologies/libraries is Microsoft's new (free) cross platform editor Visual Studio Code (Launched 5/29/2015) built on? There are rumors that it's just Github's Atom Editor rebranded.

Node Webkit Solutions


Solution 1 - Node Webkit

Visual Studio Code is built using web technologies on top of Github's Electron.

Electron is an app runtime for writing native apps that uses Chromium (which Google Chrome is built on) for rendering the interface and node.js for local APIs (example: file system access), it was built primarily as the shell for Github's Atom code editor. (Note: Electron is very similar to NW.js).

Node.js is a (JavaScript) app runtime built on Google's V8 JavaScript engine with C and C++ code to give it access to native APIs for each operating system (example: file system access).

Essentially, Microsoft's new product is built completely upon open source software whose major components were created by Google.

There are rumors that Visual Studio code is either a fork or rebranding of Github's Atom Editor. This is not even remotely true. Inspecting the source of Visual Studio Code reveals that it uses Electron and Atom Shell Archive, but nothing else is from the Atom editor.

The 'editor' (the thing that renders the code with syntax highlighting, line numbers, etc..) part of Visual Studio Code is Microsoft's Monaco editor. It is the same editor used for OneDrive, Windows Azure, TypeScript Playground, and Visual Studio Online. I have yet to find any real documentation on this editor from Microsoft but there are some articles about it around the web.

Omnisharp is used to provide IntelliSense and other code editing tools for C# (example: refactoring).

The JavaScript Intellisense appears to be all custom code. It provides impressive JavaScript completions but it many cases it appears to be inferior to Tern (see Tern Demo).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSevin7View Question on Stackoverflow
Solution 1 - Node WebkitSevin7View Answer on Stackoverflow