Основные особенности:
- Использование одной общей кодовой базы для сборки настольного и web-вариантов.
- Поддержка разработки на JavaScript, Java, Python и других языках, для которых имеются серверные обработчики на основе протокола LSP (Language Server Protocol), которые берут на себя операции, связанные с разбором семантики языка. Применение LSP позволяет использовать более 60 существующих обработчиков, подготовленных для редакторов кода Visual Studio Code, Nuclide и Atom, в которых также применяется LSP.
- Разработку Theia курирует организация Eclipse Foundation, предоставляющая нейтральную площадку, независящую от решений отдельных компаний и действующую в интересах сообщества.
- Проект спроектирован максимально модульным, позволяет расширять или менять любую функциональность через дополнения.
- Имеется возможность создания IDE-подобных продуктов на базе Theia путём подключения необходимых дополнений через перечисление их в файле package.json.
- Поддержка протокола VS Code Extension, позволяющего подключать расширения, разработанные для Visual Studio Code.
- Интегрированный полноценный эмулятор терминала, который автоматически обновляет соединение в случае перезагрузки страницы в браузере, не теряя полной истории работы.
- Гибкая компоновка элементов интерфейса. Экранная оболочка основана фреймворке PhosphorJS, допускающем произвольные перемещения блоков (можно скрывать панели, изменять размер блоков и менять их местами).
Редактор построен на основе архитектуры фронтэнд/бэкенд, подразумевающей запуск двух процессов, один из которых отвечает за отрисовку интерфейса, в второй за внутреннюю логику. Процессы взаимодействуют с использованием HTTP при помощи JSON-RPC через WebSockets или REST API. Бэкенд использует платформу Node.js и в при работе через Web запускается на внешнем сервере, а фронтэнд с интерфейсом загружается в браузере. В случае настольного приложения оба процесса запускаются локально, а для создания самодостаточно приложения применяется платформа Electron.
Из ключевых отличий от Visual Studio Code называется: более модульная архитектура, предоставляющая больше возможностей для модификации; изначальная ориентация на запуск не только на локальной системе, но и в облаке; разработка на нейтральной площадке. Стоит отметить, что полностью открытый вариант редактора Visual Studio Code также развивает проект VSCodium, который включает только свободные компоненты, избавлен от привязки к бренду Microsoft и почищен от кода для сбора телеметрии.
Напомним, что редактор Visual Studio Code построен с использованием наработок проекта Atom и платформы Electron, основанной на кодовой базе Chromium и Node.js. Редактор предоставляет встроенный отладчик, инструменты для работы с Git, средства рефакторинга, навигации по коду, автодополнения типовых конструкций и контекстной подсказки. Visual Studio Code развивается компанией Microsoft как открытый проект, доступный под лицензией MIT, но официально предоставляемые бинарные сборки не тождественны исходным текстам, так как включают компоненты для отслеживания действий в редакторе и отправки телеметрии. Сбор телеметрии объясняется проведением оптимизации интерфейса с учётом реального поведения разработчиков. Кроме того, бинарные сборки распространяются под отдельной несвободной лицензией.
Источник: http://www.opennet.ru/opennews/art.shtml?num=52645