ReportChecker для VS Code
Расширение интегрирует VS Code с ReportChecker: отправка отчетов на
проверку, список ошибок прямо в редакторе, комментарии в стиле web-версии и применение
предложенных ИИ исправлений.
Возможности
- Авторизация через Avalux Auth (браузерный вход с локальным redirect на
http://localhost:14872). Токены хранятся в SecretStorage VS Code (системное защищенное
хранилище — Credential Manager/Keychain), сессия восстанавливается при каждом запуске:
вход требуется один раз; access-токен обновляется по refresh-токену автоматически, а
сетевые сбои не сбрасывают сохраненную сессию.
- Панель ошибок (
ReportChecker на панели активности): ошибки текущего проекта, сгруппированные
по файлам, статус проверки в строке состояния.
- Комментарии к ошибкам — интерфейс на Comment API (как в web-версии): ветки комментариев
прямо в редакторе, ответы, ответы ИИ подгружаются автоматически, отметки «прочитано».
- Переход к месту в коде — клик по ошибке открывает файл и подсвечивает строку; ошибки также
отмечаются на полях редактора иконкой по статусу (те же иконки и цвета, что в списке ошибок:
открытая — крестик, в работе — инструменты, закрытая — перечеркнутый круг, исправленная —
двойная галочка). Если на строке несколько ошибок, показывается самая приоритетная:
сначала открытые, затем закрытые.
- Отправка на проверку — если проект не связан с отчетом, кнопка «Отправить на проверку»
упакует все
.tex-файлы в архив и создаст отчет (источник Local).
- Автоотправка версий — при изменении
.tex-файлов (по умолчанию через 30 сек после
последнего изменения) новая версия отправляется автоматически; отправку можно приостановить.
- Исправления в локальном файле — патч из комментария ИИ можно применить к файлу одним
кликом («Применить исправление к файлу»); принять/отклонить — соответствующими кнопками.
- Открыть в браузере — переход к web-версии: из заголовка панели открывается отчет,
из узла или треда ошибки — страница этой ошибки.
Форматы
Сейчас поддерживается LaTeX (.tex, входной файл определяется автоматически или задается
настройкой reportchecker.entryFile). Архитектура провайдеров форматов
(src/formats/formatProvider.ts) рассчитана на добавление других текстовых форматов.
Настройки
| Параметр |
По умолчанию |
Описание |
reportchecker.apiBaseUrl |
https://api.reportchecker.ru |
Базовый адрес API |
reportchecker.webBaseUrl |
https://reportchecker.ru |
Адрес web-версии |
reportchecker.authBaseUrl |
https://auth.nachert.art |
Сервер авторизации |
reportchecker.authProvider |
password |
Провайдер авторизации |
reportchecker.callbackPort |
14872 |
Порт локального redirect-сервера |
reportchecker.autoUpload |
true |
Автоотправка версий при изменении файлов |
reportchecker.autoUploadDelaySeconds |
30 |
Задержка автоотправки (мин. 5) |
reportchecker.pollIntervalSeconds |
5 |
Интервал опроса статуса проверки (мин. 2) |
reportchecker.entryFile |
(пусто) |
Главный файл отчета относительно рабочей области |
reportchecker.editorDecorations |
true |
Отметки ошибок в редакторе (иконка на полях, метка на линейке) |
Разработка
Требуется Node.js ≥ 20.
cd VsCode
npm install
npm run compile # сборка бандла (esbuild) в out/extension.js
npm test # тесты latex-провайдера (node:test)
npm run typecheck # tsc --noEmit
Отладка: открыть папку VsCode в VS Code и нажать F5 (конфигурация «Run Extension» —
поднимет Extension Development Host).
Упаковка в .vsix: npx vsce package.
Диагностика
Команда «ReportChecker: Показать журнал диагностики» открывает канал вывода, куда пишутся:
выбранный главный файл отчета, главы, найденные парсером в файлах проекта, статистика
привязки ошибок (какие главы не удалось сопоставить) и статусы проверок при опросе. Это
помогает при расхождениях маппинга и при проблемах с завершением поллинга.
Ограничения
- Источник отчета всегда
Local (GitHub/Docx/PDF не поддерживаются).
- Патчи применяются к локальным файлам без отката: перед применением исправления
рекомендуется закоммитить изменения.