Komodo — кроссплатформенный интегрированный редактор и среда разработки, ориентированная на динамические языки программирования. Продукт предоставляет набор инструментов для редактирования, отладки и управления проектами на языках вроде Python, PHP, Perl, Ruby, Go и JavaScript. Разработка и распространение Komodo велись с акцентом на расширяемость: пользователи могли подключать плагины и расширения для добавления новых возможностей и интеграции со сторонними инструментами.
Исторически Komodo возник как коммерческий и частично открытый проект, развивавшийся с целью объединения функций редактора и IDE в одном приложении. В разные периоды времени существовали варианты с упором на базовое редактирование и более полнофункциональные выпуски с отладкой, профилированием и поддержкой систем контроля версий. Komodo поддерживал мультиплатформенность, работая под основными операционными системами, и обеспечивал настройки пользовательского интерфейса и среды под потребности разработчиков.
- Поддерживаемые языки: многоязычная поддержка с фокусом на динамические языки (Python, PHP, Perl, Ruby, Go, JavaScript и другие).
- Подсветка синтаксиса: контекстно-зависимая подсветка для большого числа языков и форматов.
- Автодополнение и подсказки: интеллектуальные подсказки коду и автодополнение на основе анализа проекта и стандартных библиотек.
- Отладка: встроенные и интегрируемые отладчики (в версиях с поддержкой IDE) с возможностью пошагового выполнения, точек останова и инспекции переменных.
- Расширяемость: система плагинов и макросов для добавления функциональности и интеграции со сторонними инструментами.
- Управление версиями: встроенная или плагинная поддержка систем контроля версий, включая типичные задачи коммита, слияния и просмотра истории.
- Редактор проектов: средства организации файлов и папок проекта, шаблоны и управление конфигурацией окружения разработки.
- Интеграция с инструментами: возможности интеграции с терминалом, системами сборки, тестирования и внешними утилитами.
- Кроссплатформенность: поддержка основных операционных систем, единый пользовательский опыт и совместимость конфигураций.
- Настраиваемый интерфейс: конфигурация панелей, цветовых схем, сочетаний клавиш и поведения редактора под предпочтения разработчика.