Sur quoi est basé l’éditeur de code Visual Studio

Quelles sont les technologies / bibliothèques sous-jacentes sur lesquelles le nouvel éditeur multiplate-forme (gratuit) de Microsoft, Visual Studio Code (lancé le 29/05/2015), a été conçu? Il y a des rumeurs selon lesquelles c’est juste l’éditeur de l’Atom de Github.

    Visual Studio Code est construit en utilisant les technologies Web au-dessus d’ Electron de Github.

    Electron est une application runtime pour écrire des applications natives qui utilisent Chromium (sur laquelle Google Chrome est construit) pour le rendu de l’interface et node.js pour les API locales (exemple: access au système de fichiers) . éditeur. (Note: Electron est très similaire à NW.js ) .

    Node.js est une application (JavaScript) d’ exécution basée sur le moteur JavaScript V8 de Google avec du code C et C ++ pour lui donner access à des API natives pour chaque système d’exploitation (exemple: access au système de fichiers) .

    Essentiellement, le nouveau produit de Microsoft repose entièrement sur des logiciels open source dont les principaux composants ont été créés par Google.

    Il y a des rumeurs selon lesquelles le code Visual Studio est soit un fork, soit un changement de nom de l’éditeur Atom de Github. Ce n’est même pas vrai. L’inspection de la source de Visual Studio Code révèle qu’il utilise Electron et Atom Shell Archive , mais rien d’autre ne provient de l’éditeur Atom.

    L’éditeur (la chose qui rend le code avec la coloration syntaxique, les numéros de ligne, etc.) de Visual Studio Code est l’éditeur Monaco de Microsoft. C’est le même éditeur utilisé pour OneDrive, Windows Azure, TypeScript Playground et Visual Studio Online. Je n’ai pas encore trouvé de documentation réelle sur cet éditeur de Microsoft, mais il existe des articles à ce sujet sur le Web.

    Omnisharp est utilisé pour fournir IntelliSense et d’autres outils d’édition de code pour C # (exemple: refactoring) .

    JavaScript Intellisense semble être tout code personnalisé. Il fournit des versions impressionnantes de JavaScript, mais dans de nombreux cas, il semble être inférieur à Tern (voir la démonstration de Tern ) .