AvalonEdit

Бесплатно
Открытый исходный код
Windows

Сайт: github.com/icsharpcode/AvalonEdit

AvalonEdit — это компонент текстового редактора для платформы .NET, реализованный на базе WPF и предназначенный для встраивания в приложения, требующие редактирования исходного текста с подсветкой синтаксиса. Компонент появился в контексте проектов, связанных с интегрированной средой разработки и инструментами разработки под .NET, и получил распространение благодаря своей гибкости, расширяемой архитектуре и способности обрабатывать большие объёмы текста в графических приложениях на Windows.

Редактор предоставляет базовый набор возможностей, характерный для текстовых компонентов, используемых в IDE: редактирование текста с поддержкой многострочного ввода, навигация, управление выделением, отмена/повтор операций, а также механизмы для добавления подсветки синтаксиса, автодополнения и поиска. Архитектура компонента ориентирована на разделение представления и логики подсветки, что позволяет интегрировать собственные парсеры и правила оформления для различных языков программирования или форматов данных. В случаях, когда детальная информация об истории разработки недоступна, описание фокусируется на типичных возможностях и сценариях применения аналогичных WPF-редакторов.

  • Подсветка синтаксиса: поддержка подсветки с возможностью подключения пользовательских определений и грамматик.
  • Редактирование больших файлов: оптимизации для работы с объёмными текстовыми данными и эффективного обновления отображения.
  • Расширяемость: API для добавления собственных подсказок, автодополнения, обёрток оформления и обработчиков событий.
  • Пользовательский ввод и навигация: стандартные операции ввода, выделения, переходов по документу и поддержка сочетаний клавиш.
  • Поддержка отступов и форматирования: средства автоматического выравнивания, табуляции и настройки поведения при вводе.
  • Поиск и замена: встроенные механизмы поиска с опциями, пригодными для интеграции в пользовательский интерфейс.
  • Производительность рендеринга: использование механизмов WPF для отрисовки текста с учётом частичных обновлений и двойной буферизации.
  • Интеграция в WPF-приложения: легко встраивается в визуальные интерфейсы на базе XAML и поддерживает стилизацию через стандартные механизмы платформы.
  • Многоязычность и локализация: возможности адаптации интерфейсных сообщений и поведения под разные языки при необходимости.
Подробнее