2015-04-30 4 views

ответ

147

Код Visual Studio построен с использованием веб-технологий сверху Electron Github.

Electron является приложением во время выполнения для написания родные приложения, которые используют Chromium(который Google Chrome построен на) для визуализации интерфейса и node.js для локальных интерфейсов (например: доступ к файловой системе), он был построен прежде всего как оболочка для редактора кода GITUB Atom. (Примечание: электрон очень похож на NW.js).

Node.js является (JavaScript) приложение во время выполнения построен на движке V8 JavaScript от Google с C и C++ код, чтобы дать ему доступ к API, родной для каждой операционной системы (пример: доступ к файловой системе).

По сути, новый продукт Microsoft полностью построен на ПО с открытым исходным кодом, основные компоненты которого были созданы Google.

Ходят слухи, что код Visual Studio является либо вилкой, либо ребрендингом редактора Atom Github. Это даже не отдаленно верно. Проверка источника кода Visual Studio показывает, что он использует Electron и Atom Shell Archive, но ничего больше не из редактора Atom.

«Редактор» (вещь, которая отображает код с подсветкой синтаксиса, номера строк и т. Д.) часть кода Visual Studio является редактором Microsoft Monaco. Это тот же редактор, который используется для OneDrive, Windows Azure, TypeScript Playground и Visual Studio Online. Мне еще предстоит найти настоящую документацию по этому редактору от Microsoft, но об этом в Интернете есть some articles.

Omnisharp используется для предоставления инструментов IntelliSense и других инструментов для редактирования кода C# (пример: рефакторинг).

JavaScript Intellisense - это все пользовательский код. Он обеспечивает впечатляющие пополнения JavaScript, но во многих случаях он, по-видимому, уступает Tern(см. Tern Demo).

+1

Я искал код в течение дня, и он изменил мой взгляд на JS в настольном приложении. Я посмотрел на Atom и был очень разочарован, так как не мог сделать основные вещи, которые, как я ожидаю, это сделать из текстового редактора. Код оказался неправильным, какой элемент управления текстовым редактором можно использовать в моем узле-рабочем столе/веб-приложении? – elcuco

+0

@elcuco - Редактор Ace (http://ace.c9.io/build/kitchen-sink.html) и Code Mirror (https://codemirror.net/) - это редакторы HTML-кода (я лично предпочитаю Ace). – Sevin7

+0

Я тоже добавляю свою рекомендацию для Ace - это удивительно хорошо. Очень профессиональная и очень расширяемая. –