Monaco Editor — это текстовый редактор кода, реализованный на JavaScript и предназначенный для встраивания в веб-приложения. Он был разработан как отдельная библиотека, использующая компоненты, похожие на те, что применяются в интегрированной среде разработки Visual Studio Code. Monaco предоставляет средства для редактирования исходного кода с поддержкой подсветки синтаксиса, автодополнения, свёртывания кода и других функций, характерных для полноценных редакторов кода, при этом ориентирован на работу в браузерной среде.
Архитектура редактора разделяет представление и логику анализа кода, что позволяет интегрировать сторонние языковые серверы и механизмы анализа. Monaco рассчитан на гибкое конфигурирование: разработчики веб-приложений могут настраивать поведение редактора, внешний вид, сочетания клавиш и наборы языков. В документации и практическом использовании библиотека демонстрирует подходы к масштабируемому отображению больших файлов и к управлению редакторским состоянием в одностраничных приложениях.
- Подсветка синтаксиса: поддержка множества языков и возможность добавления собственных грамматик.
 - Автодополнение: механизм подсказок и предложений на основе контекста кода.
 - Свертывание и развертывание блоков: управление видимостью блоков кода и навигация по структуре документа.
 - Поддержка нескольких курсоров: одновременное редактирование в нескольких местах документа.
 - Форматирование кода: интеграция форматтеров и инструментов стилизации кода.
 - Интеграция с языковыми серверами: взаимодействие с внешними сервисами для анализа и проверок кода.
 - Поиск и замена: расширенные операции поиска, поддержка регулярных выражений и навигации по результатам.
 - Настраиваемые сочетания клавиш: возможность переназначения команд и использования привычных хоткеев.
 - Темизация и стилизация: поддержка пользовательских тем и изменения визуальных настроек редактора.
 - Масштабируемость: оптимизации для работы с большими файлами и минимизация затрат памяти в браузере.