Журнал изменений: История версий и запись изменений
Чему вы научитесь
- Отслеживать эволюцию версий плагина
- Узнавать о новых функциях и исправлениях в каждой версии
- Освоить известные ограничения и технические детали
- Понять возможные будущие улучшения функциональности
[0.1.0] - 2025-01-07
Новые возможности
Это начальный релиз opencode-md-table-formatter, содержащий следующие основные функции:
- Автоматическое форматирование таблиц: Автоматическое форматирование Markdown-таблиц, сгенерированных ИИ, через хук
experimental.text.complete - Поддержка скрытого режима: Правильная обработка скрытых Markdown-символов (например,
**,*) при вычислении ширины - Обработка вложенного Markdown: Поддержка вложенного Markdown-синтаксиса произвольной глубины с использованием многошагового алгоритма удаления
- Защита блоков кода: Markdown-символы внутри встроенного кода (
`code`) сохраняются в буквальном виде и не участвуют в вычислении ширины - Поддержка выравнивания: Поддержка левого выравнивания (
---или:---), центрирования (:---:), правого выравнивания (---:) - Оптимизация кеширования ширины: Кеширование результатов вычисления ширины отображения строк для повышения производительности
- Проверка неверных таблиц: Автоматическая проверка структуры таблиц, недействительные таблицы получают комментарии об ошибках
- Поддержка нескольких символов: Поддержка Emoji, Unicode-символов, пустых ячеек, сверхдлинного содержимого
- Тихая обработка ошибок: Ошибки форматирования не прерывают рабочий процесс OpenCode
Технические детали
Эта версия содержит примерно 230 строк производственного кода на TypeScript:
- 12 функций: Чёткое разделение обязанностей, хорошая изоляция
- Безопасность типов: Правильное использование интерфейса
Hooks - Интеллектуальная очистка кеша: Очистка срабатывает при превышении 100 операций или 1000 записей в кеше
- Многошаговая обработка регулярными выражениями: Поддержка удаления Markdown-символов произвольной вложенности
Механизм кеширования
Кеш разработан для оптимизации вычисления ширины повторяющегося содержимого. Например, когда один и тот же текст ячейки появляется в таблице несколько раз, ширина вычисляется только один раз, а последующие чтения берутся из кеша.
Известные ограничения
Эта версия не поддерживает следующие сценарии:
- HTML-таблицы: Поддерживаются только Markdown-таблицы с разделителями (Pipe Table)
- Многострочные ячейки: Ячейки, содержащие теги
<br>, не поддерживаются - Таблицы без строки-разделителя: Таблица должна содержать строку-разделитель (
|---|) для форматирования - Требования к зависимостям: Требуется
@opencode-ai/plugin>= 0.13.7 (используется неопубликованный хукexperimental.text.complete)
Требования к версии
Плагин требует OpenCode >= 1.0.137 и @opencode-ai/plugin >= 0.13.7 для правильной работы.
Будущие планы
Следующие функции планируются к реализации в будущих версиях:
- Параметры конфигурации: Поддержка пользовательских минимальной/максимальной ширины столбцов, отключение определённых функций
- Поддержка таблиц без заголовка: Форматирование таблиц без строки заголовка
- Оптимизация производительности: Анализ и оптимизация производительности для очень больших таблиц (100+ строк)
- Больше вариантов выравнивания: Расширение синтаксиса и функциональности выравнивания
Участие в разработке
Если у вас есть предложения по функциональности или вы хотите внести код, пожалуйста, поделитесь своими идеями в GitHub Issues.
Описание формата журнала изменений
Журнал изменений этого проекта следует формату Keep a Changelog, а номера версий следуют Семантической спецификации версий (Semantic Versioning).
Формат номера версии: MAJOR.MINOR.PATCH
- MAJOR: Несовместимые изменения API
- MINOR: Новая функциональность с обратной совместимостью
- PATCH: Исправления с обратной совместимостью
Типы изменений:
- Added: Добавленные функции
- Changed: Изменения существующей функциональности
- Deprecated: Функции, которые будут удалены
- Removed: Удалённые функции
- Fixed: Исправления проблем
- Security: Исправления, связанные с безопасностью
Рекомендуемый порядок чтения
Если вы новый пользователь, рекомендуем изучать в следующем порядке:
- Быстрый старт: Установка и конфигурация — Быстрое начало работы
- Обзор функций: Магия автоматического форматирования — Понимание основных функций
- Часто задаваемые вопросы: Что делать, если таблица не форматируется — Устранение неполадок
- Известные ограничения: Где находятся границы плагина — Понимание ограничений